C++继承中cB1::n与cB2::n的区分与数据成员理解
在C++面向对象程序设计中,"cB1::n"和"cB2::n"被描述为两个不同的数据成员,这表明在类的设计中,可能存在两个具有相同名称但属于不同基类或派生类的数据成员。继承是面向对象编程中一个重要的概念,它允许子类(派生类)扩展或重用父类(基类)的特性。这里提到的可能是两个独立的类B1和B2,它们各自都有名为'n'的数据成员,分别存储不同的数据。 章节6.1主要介绍了面向对象的两个关键合成与继承的概念。合成,即composition,指的是通过组合已有的对象来创建新类,这种关系强调了部分与整体的关系,如在Date类中,成员变量day、month和year是Date对象的实例。而继承,即inheritance,是指创建一个新类(子类)时,可以基于现有的类(基类)来定义,子类不仅可以获取基类的属性和方法,还可以添加自己的特性和行为。 在继承机制下,若cB1和cB2都是从同一基类继承,例如base_class,那么cB1::n和cB2::n如果是基类base_class中的'n'成员,它们将被视为同一个数据成员,因为它们在派生类中的引用实际上指向的是基类中的相同数据。然而,如果cB1和cB2是两个不同的派生类,即使它们都从相同的基类继承,cB1::n和cB2::n也会是两个独立的数据成员,因为每个派生类都有自己的实例空间。 例如,在Person类中,我们看到有姓名(name)、性别(sex)、出生日期(dob)和死亡日期(dod)等数据成员。这些数据成员可以被其他类继承,比如作者Author类继承自Person,并可能有自己的'n'成员。通过setDOB和setDOD方法设置日期,以及printDOB和printDOD方法显示日期,展示了如何利用继承进行信息的组织和复用。 在main函数中,创建了一个名为author的Author对象,设置了其出生日期。这体现了如何通过继承和组合来构建复杂的对象结构,通过调用父类的方法,子类对象的行为得以体现。 C++中的继承允许子类通过继承基类的属性和行为,实现代码的复用和模块化。在理解cB1::n和cB2::n是否相同时,关键在于分析它们所属的类关系,是共享的基类成员还是各自的派生类特性。通过实际例子,我们可以看到面向对象设计如何在继承机制下构造和管理复杂的数据结构。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/d9e6911b6c0a4bbf9f41d45e8052a81a_weixin_42186728.jpg!1)
- 粉丝: 23
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 中国微型数字传声器:技术革新与市场前景
- 智能安防:基于Hi3515的嵌入式云台控制系统设计
- 手机电量低时辐射真增千倍?解析手机使用谣言
- 56F803型DSP驱动的高精度大功率超声波电源控制策略研究
- ARM与GPRS结合的远程监测系统设计
- GPS与RFID技术结合的智能巡检系统设计
- CPLD驱动的低功耗爆炸场温度测试系统设计
- 基于FPGA的智能驱动控制系统:可扩展设计与工业网络协议
- 基于ATmega128和CH374的嵌入式USB接口设计
- 基于AT89C52的温度补偿超声波测距仪:高精度设计与应用
- MSP430F448单片机在交流数字电压表中的应用
- 提升变频器应用效率的12项实用技巧
- STM32F103在数字电镀电源并联均流系统中的应用
- PSpice仿真下的升压开关电源设计:拓扑分析与CCM稳定性提升
- 轻巧高效:MSP430主导的低成本无线传感器网络节点设计
- FPGA在EDA/PLD中实现LVDS接口的应用解析
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)