有没有可能继承一个类但不使用虚函数?编译器提示以下代码不是多态的。
示例:
class A {
public:
int a;
int getA(){return a;};
}
class B : public A {
public:
int b;
int getB(){return b;};
}
在另一个类中,我们尝试将一个 A
对象向下转换为一个 B
对象:
A *a = ...;
B *b = dynamic_cast<B*>(a)
但是这会导致以下编译时错误:
cannot dynamic_cast ... (source type is not polymorphic)