世界热门:虚函数实现多态性_在c 中虚函数和多态性是什么意思

来源:互联网时间:2023-05-03 21:01:43

1、多态是指使用相同的函数名来访问函数不同的实现方法,即“一种接口,多种方法”,用相同的形式访问一组通用的运算,每个运算可能对应的行为不同。

2、C++支持编译时多态和运行时多态,运算符重载和函数重载就是编译时多态,而派生类和虚函数实现运行时多态。

3、运行时多态的基础是基类指针,基类指针可以指向任何派生类对象。


(资料图片)

4、虚函数与基类指针在一起时会有奇妙的现象。

5、1.虚函数是为了实现多态而存在的请看以下程序:#include <novir();//父类起作用,显示father novir ff->vir();//子类起作用,虚函数多态的用处,显示 son vir,具体参见下面解释 return 0;}输出:[root@localhost root]# ./virson novirson virfather novirfather virfather novirson vir例如:父类为 车,子类为汽车 子类指针不能指向父类对象(即将父类对象赋值给子类指针):因为子类中有些信息父类没有,如果用指针访问的时候很可能访问到父类没有的一些属性及函数,会出错。

6、父类的对象可以有很多,自行车,摩托车,轿车等,如果用一个父类的对象赋给子类汽车的指针,汽车有的属性,例如发动机,父类对象就没有,会产生错误。

7、父类指针可以指向子类对象(即将子类对象赋值给父类指针):由于继承的关系,子类对象同样也是父类的对象,例如:汽车有轮子,汽车也属于车,父类车也有轮子,这种情况下,子类对象就成为了父类的一个对象,所以只能操作父类有的属性及函数。

8、对于那些父类没有的属性,必须将父类指针强制转化为子类指针后才可使用。

9、虚函数的多态体现我们都知道,程序运行的过程要经过 预处理,编译,运行,链接等步骤。

10、虚函数在程序运行的时候才被绑定,编译的时候不进行相关处理,只有运行的时候才对其进行相关操作。

11、 所以在程序片:======================================================= F *ff; ff = &s;//将一个父类指针指向一个子类对象;子类指针不能指向父类对象 ff->novir();//父类起作用,显示father novir ff->vir();//子类起作用,虚函数多态的用处,显示 son vir======================================================= 程序在运行时决定调用虚函数的哪个定义,这个决定依赖于基类型指针所指向的对象的类型。

12、通过点运算调用虚函数时,忽略了虚函数的多态性,**只有**使用***基类型指针访问虚函数***,运行时的多态性才得以体现。

13、即C++根据指针指向对象的类型来决定调用虚函数的哪个定义,在这里,指针所指向的类型为子类对象,所以虚函数使用子类的函数。

本文到此分享完毕,希望对大家有所帮助。

标签:

相关阅读

推荐阅读

世界热门:虚函数实现多态性_在c  中虚函数和多态性是什么意思

世界热门:虚函数实现多态性_在c 中虚函数和多

1、多态是指使用相同的函数名来访问函数不同的实现方法,即“一种接口,多种方法”,用相同的形式访问一组更多

2023-05-03 21:01:43
英语教师网络研修总结_英语教师网

英语教师网络研修总结_英语教师网

1、网上的课件,有的可以免费下载;有的是不能免费下载的。2、如果不是免费的,自己可以尝试着去积分,或者更多

2023-05-03 19:58:32
专访:使用人民币结算中国进口商品有助于阿根廷应对当前经济挑战——访阿根廷布宜诺斯艾利斯大学经济学教授马奇尼

专访:使用人民币结算中国进口商品有助于阿根廷应

新华社布宜诺斯艾利斯5月2日电专访:使用人民币结算中国进口商品有助于阿根廷应对当前经济挑战——访阿根廷更多

2023-05-03 19:12:02
游客手机掉进西湖,被收1500元打捞费?西湖景区回应 每日速讯

游客手机掉进西湖,被收1500元打捞费?西湖景区回

5月2日,有游客发布视频称,自己的手机掉到西湖里,被一位衣服上写着“应急救援”的男子要价1500元捞起,他更多

2023-05-03 18:20:43
放松身心亲近自然 自驾露营成旅游新风尚

放松身心亲近自然 自驾露营成旅游新风尚

​今年“五一”假期,我国旅游业的快速恢复催生自驾露营休闲游、短途游、夜游等新型旅游产品提质升级。快速更多

2023-05-03 17:17:58
广交会观察:中华文化催生外贸新增长点

广交会观察:中华文化催生外贸新增长点

中新社广州5月3日电题:广交会观察:中华文化催生外贸新增长点中新社记者蔡敏婕被誉为丝绸界“软黄金”的香更多

2023-05-03 16:36:15
湖北一女孩当街翻垃圾桶捡垃圾,镇政府:系孩子赌气,已回家 新视野

湖北一女孩当街翻垃圾桶捡垃圾,镇政府:系孩子赌

对此,5月3日,湖北省恩施州利川市文斗镇政府回应澎湃新闻称,此事存在误会,系小女孩和妈妈赌气出门捡垃圾更多

2023-05-03 15:58:29
环球快资讯丨wed服务器_wed

环球快资讯丨wed服务器_wed

1、【问题描述】:网页游戏黑屏,白屏,IE导致的无法调出flash 【原因分析】:Flash游戏无法运行时,可能由于IE更多

2023-05-03 14:45:21
+ 点击查看更多精彩

精彩放送

太原12个楼盘发放18张预售证 仅有3个项目为纯新盘
    今年9月,太原市房产管理局给省城12个楼盘正式发放了18张预售证。...
截至9月底 杭州共完成不动产登记988.72万件
    房产证、土地证,两证合一了!2016年6月1日,在市民之家举行的全市...
各地继续密集发布楼市宽松政策 多地支持农民进城购房
    近期以来,各地继续密集发布楼市宽松政策,其中包括长春、遵义多...
宁波:关于“带押过户”新模式的7个典型问题权威解答来了
    日前,宁波市不动产登记中心试点二手房带押过户新模式。新模式下...
多地政府大手笔回购商品房 苏州拟对10个板块回购约1万套新房
    越来越多的地方政府出手回购当地商品房。近日,一份苏州市政府部...
市场降温豪宅不冷 媒体:北上广深掀起“豪宅热”
    尽管整体市场低迷,但豪宅板块比较稳定。争取成交,忙完这一次,...
    最新见闻