mfc调用子类的虚函数//是基类new了一个子类?调用多个子类岂不是要new多个子类?
#include <iostream>
using namespace std;
class base{
public:
virtual void fun()
{
cout<<"1"<<endl;
}
};
class sub:public base{
public:
void fun()
{
cout<<"2"<<endl;
}
};
class sub2:public sub{
public:
void fun()
{
cout<<"3"<<endl;
}
};
[最优解释]
当然啊,不new怎么调用,都没生出来是调用不了的
[其他解释]
应该是:
你先new了子类的对象(object),子类的对象中包含了父类所有的数据成员,你在vc中监视可以看得很清楚。
不管子类、父类都有指针指向成员函数列表。如果是虚函数,运行时判断是父类还是子类,确定调用谁的成员函数。