У меня есть абстрактный класс, скажем, A, который содержит чисто виртуальную функцию с защищенным спецификатором доступа.Другой класс, скажем, B, переопределяет интерфейс и реализует функцию List ().
class A {
public:
...
protected:
virtual std::vector<std::string> List() = 0;
}
class B: public A {
protected:
std::vector<std::string> List() override {
//Implementation for the method
}
}
Мой вопрос заключается в том, что теперь у меня есть другой класс, C, который должен вызывать реализованный интерфейс List ()из класса B, чтобы я мог сохранить возвращенный результат в классе C. Как я могу вызвать интерфейс в классе C?
PS: я могу изменить спецификатор доступа метода на public в классе B, если это можетрешить проблему.