发布网友 发布时间:2022-03-18 00:38
共1个回答
热心网友 时间:2022-03-18 02:07
虚函数子类一般都是要自己实现的,实现后子类调用的时候是用的自己的
多是父类来调用这个虚函数,
classs cFather
{
public:
vistual int exp() = 0;//0纯虚,子类必须实现,可以不带,非纯虚可以不实现
}
class cSon1 :public cFather
{
int exp(){printf("this is son1\n");return 0;};
}
class cSon2 :public cFather
{
int exp(){printf("this is son2\n");return 0;};
}
int main(int argc,char* argv)
{
cFather* exp1 = new cSon1 ();
exp1->exp();//调用cSon1的
cFather* exp2 = new cSon2 ();
exp2->exp();//调用cSon2的
system("pause");
delete exp1;
delete exp2;
reutrn 0;
}追问首先表示感谢,麻烦再问一下1.若是父类的虚函数被多个子类重写,父类的某个对象调用父类的虚函数,父类应该根据 什么 来选择用哪个子类实现的虚函数? 谢谢