class Base {
public:
virtual void gun() {
std::cout << "Base gun" << std::endl;
}
};
class Derived : public Base {
private:
char c;
};
int main() {
std::cout << "sizeof(Base)=" << sizeof(Base) << std::endl;
std::cout << "sizeof(Derived)=" << sizeof(Derived) << std::endl;
Base *b = new Derived();
b->gun();
return 0;
}
如果派生类没有重写基类中的虚函数,那么派生类依然会创建虚指针,只不过派生类的虚指针指向的是基类中的虚表。