C++ 学习记录 C++ 面向对象三大特性
2021/11/6 17:12:02
本文主要是介绍C++ 学习记录 C++ 面向对象三大特性,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一. 封装
在定义类的时候,将属性和行为放在一起,其中属性和行为可以放在不同的权限中。属性就是变量,行为就是函数,但函数内有简单的内容。
二. 继承
某个类在定义时,可以继承一个或多个基类,这个类叫派生类,派生类可以使用基类的除私有之外的所以属性及方法。
三. 多态
一个接口,多种方法
派生类的函数与基类的函数同名,参数列表也相同,且俩者都具有virtual关键字, 创建基类类型指针,指向子类对象,用基类指针调用虚函数,既可实现多太重写。
总结:在用父类指针调用函数时,实际调用的是指针指向的实际类型(子类)的成员函数
四. 虚函数
虚函数则是加了virtual修饰词的类的成员函数。
虚函数实现的过程:通过对象内存中的虚函数表指针vptr找到虚函数表vtbl,接着通过vtbl找到对应虚函数的实现区域并进行调用
构造函数和析构函数可以是虚函数吗?答案是构造函数不能是虚函数,析构函数可以是虚函数且推荐最好设置为虚函数
这篇关于C++ 学习记录 C++ 面向对象三大特性的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享