C++类指针指向子类还是基类的判断方法
2015-05-07 来源:51hei
#include
class animal
{
public:
animal()
{
cout<<'hello kitty'<
}
virtual void eat()
{
cout<<'eat bianbian'<
}
};
class plant:public animal
{
public:
plant()
{
}
void eat()
{
cout<<'haha'<
进入单片机查看更多内容>>
}
};
void fn(animal *pan)
{
pan->eat ();
}
void main()
{
plant st;
animal*pan; //一个指向animal的指针
pan=&st; //把这个指针换成plant的类空间
fn(pan);//把这个被替换的指针赋给fn(),它貌似指向了,然后通过这个函式指向eat()
}
//函数中有两个类,而且都有eat()函数最后到底指向哪个eat()呢!
//答:指向基类。如果想指向子类,办法是有的!就是把基类的eat()函数虚化。加virtual前缀即可!
// `(*∩_∩*)
上一篇:C++数组形参的使用
下一篇:C++输入数字并求和程序
相关文章
- 5C超充,该怎么卷?
- 艾迈斯欧司朗发布OSCONIQ® C 3030 LED:打造未来户外及体育场照明新标杆
- S3C4510上嵌入式Web服务器-boa在uclinux下的的移植
- 艾迈斯欧司朗推出全新UV-C LED,提升UV-C消毒与处理解决方案效率
- S3C6410 SPI全双工读写流程分析(原创)
- 8位单片机体系的直接软件构架(C51系列)
- 【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(7)I2C 模块介绍
- 美格智能5G车规级通信模组: 5G+C-V2X连接汽车通信未来十年
- s3c6410 TVout 测试
- Linux 下使用s3c6410的post处理器的进行硬件缩放