一个虚函数的问题
程序代码:
#include <iostream> using namespace std; class animal { int a; public: virtual void eat() { cout << "animal eat" << endl; } virtual void play() { cout << "animal play" << endl; } }; class dog : public animal { int b; public: virtual void eat() { cout << "dog eat" << endl; } virtual void play() { cout << "dog play" << endl; } virtual void run() { cout << "dog run"<< endl; } }; int main() { animal a1; dog d1; return 0; }
为什么在对象a1中只有一个animal类的vptr
而没有他自己的vptr,不是在dog类中定义了一个virtual void run();吗 不是应该有一个指向virtual void run();的虚表吗
用的是vc6.0