C++ 有没有可能通过父类指针调用子类的虚函数
1个回答
展开全部
不可以向下调用派生类的成员包括虚函数
class Parent
{
public:
Parent(){};
virtual void foo_parent() = 0;// 纯虚函数
private:
};
class Son:public Parent
{
public:
Son(){};
virtual void foo_son(){ // 派生类虚函数
cout << "Foo of Son" << endl;
}
void foo_parent(){ // 重写父类的纯虚函数
cout << "Foo of Parent" << endl;
}
private:
};
int _tmain(int argc, _TCHAR* argv[])
{
Parent * p = new Son; // 定义父类类型的指针变量p,它指向子类。
p->foo_parent();
p->foo_son(); // 错误,父类类型的指针变量不可向下调用派生类自个的成员(包含虚函数)
delete p;
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询