C++ 有没有可能通过父类指针调用子类的虚函数

 我来答
仙戈雅3n
2016-08-29 · TA获得超过5790个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:897万
展开全部

不可以向下调用派生类的成员包括虚函数

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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式