打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C++类指针指向子类还是基类的判断方法
#include <iostream.h>
class animal
{
public:
animal()
{
cout<<"hello kitty"<<endl;
}
virtual void eat()
{
cout<<"eat bianbian"<<endl;
}
};
class plant:public animal
{
public:
plant()
{
}
void eat()
{
cout<<"haha"<<endl;
}
};
void fn(animal *pan)
{
pan->eat ();
}
void main()
{
plant st;
animal*pan;  //一个指向animal的指针
pan=&st;  //把这个指针换成plant的类空间
fn(pan);//把这个被替换的指针赋给fn(),它貌似指向了,然后通过这个函式指向eat()
}
//函数中有两个类,而且都有eat()函数最后到底指向哪个eat()呢!
//答:指向基类。如果想指向子类,办法是有的!就是把基类的eat()函数虚化。加virtual前缀即可!
// `(*∩_∩*)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C ++ 中对象或其对象指针的赋值
C++重点概念
【C/C 】C 类对象内存模型与成员函数调用分析(中)
C++类的内存地址存放问题(动态更新中)
静态联编与动态联编之virtual的作用
4.4 多态 (Polymorphism)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服