C++面向对象程序设计(5)
2022/2/28 22:21:35
本文主要是介绍C++面向对象程序设计(5),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
五,继承与派生
C++中可重用性是通过“继承(inheritance)”这一机制来实现。
单继承:一个派生类只从一个基类派生。
多重继承:一个派生类有两个或多个基类。
派生类一般形式为:
class 派生类名 : [继承方式] 基类名 //继承方式默认为private
{派生类新增加的成员};
1,派生类成员的访问属性
公用继承
基类的公有成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。
私有继承
基类的公有成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有。
受保护的继承
基类的公有成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。
受保护成员的意思是:不能被外界引用,但可以被派生类的成员引用。
2,派生类的构造函数和析构函数
构造函数的主要作用是对数据成员初始化。
派生类构造函数一般形式为:
派生类构造函数名 (总参数表):基类构造函数名(参数表),子对象名(参数表)
{派生类中新增数据成员初始化语句}
3,多重继承
多重继承派生类的构造函数:
派生类构造函数名(总参数表):基类1构造函数(参数表),基类2构造函数(参数表),
基类3构造函数(参数表列)
{派生类中新增数据成员初始化语句}
多重继承引发的二义性问题
虚基类
C++提供虚基类(virtual base class)的方法,使得在继承间接共同基类时只保留一份成员。
声明虚基类一般形式:
class 派生类名:virtual 继承方式 基类名
4,基类与派生类的转换
基类和派生类对象之间有赋值兼容关系。具体表现在以下几个方面:
1,派生类对象可以向基类对象赋值。可以用子类对象对其基类对象赋值,但不能反过来。
2,派生类对象可以替代基类对象向基类对象的引用进行赋值或初始化。
3,如果函数的参数是基类对象或基类对象的引用,相应的实参可以用子类对象。
4,派生类对象的地址可以赋给指向基类对象的指针变量,也就是说,指向基类对象的指针变量也可以用来指向派生类对象。
5,继承与组合
类的组合:在一个类中以另一个类的对象作为数据成员
这篇关于C++面向对象程序设计(5)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris
- 2024-05-292024年IDC行业的深度挖掘:机遇、挑战与未来展望
- 2024-05-29五款扩展组件齐发 —— Volcano、Keda、Crane-scheduler 等,邀你体验
- 2024-05-29AutoMQ 对象存储数据高效组织的秘密: Compaction
- 2024-05-29活动预告|来 GIAC 大会听大数据降本利器:AutoMQ 基于云原生重新设计的 Kafka