博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重载、覆盖、隐藏的区别
阅读量:4226 次
发布时间:2019-05-26

本文共 473 字,大约阅读时间需要 1 分钟。

a.成员函数被重载的特征:

(1)相同的范围(在同一个类中);

(2)函数名字相同;

(3)参数不同;

(4)virtual 关键字可有可无。

b.覆盖是指派生类函数覆盖基类函数,特征是:

(1)不同的范围(分别位于派生类与基类);

(2)函数名字相同;

(3)参数相同;

(4)基类函数必须有virtual 关键字。

c.“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:

(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。

(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual 关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)

不能被声明为虚函数的函数:

1.普通函数(不能被覆盖) 

2.友元函数(C++不支持友元函数继承)
3.内联函数(编译期间展开,虚函数是在运行期间绑定)
4.构造函数(没有对象不能使用构造函数,先有构造函数后有虚函数,虚函数是对对象的动作) 
5.静态成员函数(只有一份大家共享) 




转载地址:http://gbkqi.baihongyu.com/

你可能感兴趣的文章
智慧健康,协同发展:清华大学携手天津市共同探索健康医疗大数据
查看>>
计算机科学专业毕业?这是给你的职业建议(亮点在最后)
查看>>
怎样判断漂亮女孩是不是单身的?
查看>>
独家 | 教你使用Keras on Google Colab(免费GPU)微调深度神经网络
查看>>
独家 | 如何利用大规模无监督数据建立高水平特征?
查看>>
福利 | NVIDIA英伟达免费直播课:带你选择、搭建AI服务器!
查看>>
报名 | 清华园里的AI公开课!第三讲之神经网络
查看>>
教你在Python中构建物体检测系统(附代码、学习资料)
查看>>
报名 | Sven Travis教授设计与人工智能思享会
查看>>
报名 | 瓜子二手车周洲:如何玩转AI赋能下的新零售?
查看>>
经典论文复现 | LSGAN:最小二乘生成对抗网络
查看>>
报名 | 第二届网上行为社会网分析学术研讨会
查看>>
独家 | 用Python Featuretools库实现自动化特征工程(附链接)
查看>>
报名 | 二值化网络 & 基于素描图的图像检索论坛
查看>>
干货 | 清华大学郑方:语音技术用于身份认证的理论与实践
查看>>
近期活动盘点:2018数据与媒介发展论坛、大数据应用中日交流论坛(11.04-11.15)...
查看>>
干货 | 476个PyTorch资源大合集推荐,GitHub超过3600星
查看>>
清华本科生最高荣誉:图说十年特奖得主(附历年名单)
查看>>
报名 | data Artisans、腾讯、阿里、滴滴、美团专家带你认识Flink!
查看>>
Yoshua:深度学习AI迈向人类水平的挑战(附PPT下载)
查看>>