Предположим, у меня есть что-то вроде этого:
class Father {
public:
virtual int genericMethod (void) =0;
};
class Son1: public Father {
public:
int genericMethod ()
{ }
};
class Son2: public Father {
public:
int genericMethod ()
{ }
int specifClassMethod()
{ }
};
В основном я делаю следующее:
Father * test = new Son2();
test->specifClassMethod(); //Can't do this! It is specific of Class Son2 and is not a virtual method in class Father!
Главный вопрос здесь заключается в том, чтобы узнать лучший способ доступа к конкретному Son2метод через интерфейс отца.Я хочу знать, есть ли Шаблон проектирования, чтобы решить тот или иной путь.Я не хочу делать броски, и я не хочу вставлять много «если» в мой код.
С уважением,
Эдуардо