c++中面向对象以及新特性的困惑与思考【一】
2022/8/9 14:22:44
本文主要是介绍c++中面向对象以及新特性的困惑与思考【一】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 多态的实现有哪几种?
a.静态多态:在编译期间实现,通过模板和重载实现
b.动态多态:在运行期间实现,通过虚函数和继承实现,执行动态绑定
2.如何实现动态绑定?
[讲解]:https://blog.csdn.net/primeprime/article/details/80776625
1.维护虚表(指针数组)
2.类拥有虚表指针
经过虚表调用虚函数的过程称为动态绑定
程序在执行p->vfunc1()时,会发现p是个指针,且调用的函数是虚函数
void test(){ B bObject; A *p = &bObject; p->vfun1();//vfun1()是B类重写的A基类虚函数 }
- 动态绑定的三个条件是什么?
- 使用指针访问函数
- 指针必须是upcast类型
- 访问的是虚函数
-
upcast 和 downcast 指什么?
-
动态多态的必要条件是什么?
需要有继承关系 需要有子类重写父类虚函数 需要有基类指针/引用访问子类虚函数 -
函数重载与函数重写的区别
这篇关于c++中面向对象以及新特性的困惑与思考【一】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-16软路由代理问题, tg 无法代理问题-icode9专业技术文章分享
- 2024-04-16程序猿用什么锅-icode9专业技术文章分享
- 2024-04-16自建 NAS 的方案-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数-icode9专业技术文章分享
- 2024-04-14ansible 在远程主机上执行脚本,并传入参数, 加上remote_src: yes 配置-icode9专业技术文章分享
- 2024-04-14ansible 检测远程主机的8080端口,如果关闭,则echo 进程已关闭-icode9专业技术文章分享
- 2024-04-14result 成功怎么写-icode9专业技术文章分享
- 2024-04-14stopped 状态设置为变量,由外部传递进来-icode9专业技术文章分享
- 2024-04-14为什么ansible执行远程脚本需要放到后台-icode9专业技术文章分享
- 2024-04-14shell 正则判断字符串内是否含有th-icode9专业技术文章分享