C++类指针指向子类还是基类的判断方法

发布者:JoyfulJourney最新更新时间:2015-05-07 来源: 51hei关键字:C++  类指针  子类  基类 手机看文章 扫描二维码
随时随地手机看文章
#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++类指针指向子类还是基类的判断方法

上一篇:C++数组形参的使用
下一篇:C++输入数字并求和程序

推荐阅读最新更新时间:2024-03-16 14:01

AT89C52+ADC0809构成的量程0-5V电压表
这是一款用ADC0809作为A/D转换、显示用四位共阴数码管、单片机为AT89C52构成的量程的0-5V电压测量表 电子小制作 。这个ADC0809(在proteus里是用ADC0808来仿真,和ADC0809是一样的)基本上能够做出一个比较正确的电压表,量程是0-5V。这里只是做了一个仿真,来验证程序的正确性,这个电子小制作没有做出实物,对这个单片机制作感兴趣的爱好都,可以进行实物的制作。做这个仿真最要注意的问题是ADC0808(ADC0809)的输出脚千万不能接反,实际制作中有很多爱好者都是接反的,造成得不到正确的仿真。下面是:AT89C52+ADC0809构成的量程0-5V电压表电子小制作源程序。电子乐屋整理。 #i
[单片机]
AT89<font color='red'>C</font>52+ADC0809构成的量程0-5V电压表
除了USB-C,2023年的iPhone还将有哪些变化?
苹果将于2023年9月发布新的iPhone 15系列手机。在过去几个月,网络上一直流传着许多关于新机的流言,从现在的情况来看,iPhone 15的升级幅度将会超过iPhone 14,将搭载更多新功能,其中包括一些消费者等待了多年的功能和特性。    我们对这些传言进行了整理:    USB-C接口    2023年,苹果沿用了多年的Lightning接口或将正式退出历史舞台,苹果终于要过渡到USB-C接口了。这意味着,你可以用同一根数据线为Mac、iPad和iPhone进行充电。    苹果接受USB-C接口的原因并不是为了让你的生活变得更加便利,该公司之所以做出这样的改变,完全是因为欧盟强迫他们这样做的。欧盟规定,2024年之前
[手机便携]
C51编译器-语言扩展(1)-存储器模型和存储类型
Cx51对ANSI标准C进行了扩展。这些扩展的大部分是为了支持8051系统的构架。这些扩展有: 8051上的存储器类型和区域 l 存储器模型 l 存储器类型指示 l 变量类型指示 l 位变量和可位寻址数据 l 特殊功能寄存器 l 指针 l 函数属性 关键字 _at_ alien bdata bit code compact data idata interrupt large pdata _priority_ reentrant sbit sfr sfr16 small _task_ using xdata 你可以通过N
[单片机]
基于STC12C4052AD单片机的教室灯光控制系统设计
O 引言 当前,随着经济的飞速发展,能源短缺问题日益突出,成为一个国家经济发展的“瓶颈”。作为工业生产和人民生活不可或缺的电力能源更是如此。尤其现今越来越提倡低碳生活,节约能源已经成为一种全球共识,而作为培养社会精英的高校更应该起到榜样的作用。但是目前在校园内,教室灯火通明,却空无一人的现象屡见不鲜,这不仅造成了严重的资源浪费,也对高校的形象造成了很坏的影响。本文所研究的教室灯光控制系统就可以很好地实现节约能源的作用。 1 系统硬件组成 整个系统由中央控制电路、2×4按键电路、光敏传感电路、继电器驱动电路、时钟电路、液晶显示电路六个模块组成。其中,光敏传感电路模块主要完成对教室当前光线明暗程度的判定,时钟电路主要实现时基
[单片机]
基于STC12<font color='red'>C</font>4052AD单片机的教室灯光控制系统设计
pic168xa ADC程序(c语言)
#i nclude pic.h #i nclude pic168xa.h __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 const char TABLE ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void DELAY(); void DELAY11(); void init(); void display(unsigned int x); void main() {unsigned int result=0x0000; do { int i; result=0x000
[单片机]
PIC单片机的读写93C46程序
; THIS ROUTE IS USED FOR 93C46 (Configue as ; 16 bits organizaTIo) READ & WRITE ROUTE RA EQU 5 RB EQU 6 BIT-COUNT EQU DATA_HI EQU 10H ; HI half of words DATA_LO EQU 11H ; LO half of words ROM_AD EQU 12H ; the address of 93c46 TEMR EQU 13H ; BIT_COUNT EQU 14H ; CM_EWEN EQU 30H CM_EWDS EQU 0H ;RA CS EQU 0 SK EQU 1 DI
[单片机]
TLC549模数转换C51程序
/******************************************* 程序功能:将采集的模拟量数据转换为数字量数据, 并在P2口的流水灯上体现出来。 涉及芯片:TLC549 ********************************************/ #include reg52.h #define uint unsigned int #define uchar unsigned char sbit clock=P3^3;//时钟线 sbit dout=P3^4;//数据输出端 sbit cs=P3^5;//片选(低电平有效) void delay(uint t) { while(t
[单片机]
《初学者C51自学笔记》之LED1602
上两图对应的; 如想要在00位置上显示,则指令码为(0x80+0x00或0x80) #include reg52.h #define uchar unsigned char #define uint unsigned int sbit rs=P2^4; sbit rw=P2^5; sbit e=P2^6; uchar table1 =  www.csdn.net ; uchar table2 = LCD1602 test ok! ; //延时函数,在12MHz的晶振频率下 //大约50us的延时 void delay_50us(uint t) { uchar j; for(;t
[单片机]
《初学者<font color='red'>C</font>51自学笔记》之LED1602
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved