Возможно ли иметь наследование без виртуальных методов? Компилятор говорит, что следующий код не является полиморфным.
Пример:
Class A(){
int a;
int getA(){return a;};
}
Class B(): A(){
int b;
int getB(){return b;};
}
В другом классе мы пытаемся понизить объект A
до объекта B
:
A *a;
B *b = dynamic_cast<B*>(a)
но это дает следующую ошибку:
cannot dynamic_cast ... (source type is polymorphic)