C++继承纸上谈兵

本文探讨了C++中类的继承和组合的概念,以及它们如何影响访问控制。公共继承保持成员访问属性不变,而保护和私有继承则会改变基类成员的访问级别。构造函数和拷贝构造函数利用冒号语法调用基类构造。多继承可能导致成员冲突,解决方法是使用虚继承,但建议避免过多使用。理解类的性质并明智地选择继承或组合是设计良好软件架构的关键。
摘要由CSDN通过智能技术生成

子类继承基类,将得到其所有类成员。继承方式不同,访问控制也不同。public、protected、private三种继承方式,相应三种类成员的权限共产生3x3 = 9种访问控制属性(记忆:1、没有哪种继承类型能访问基类private的成员。2、public继承不改变类成员访问属性。3、protected和private把剩下的其他成员改造成和自己一样)。构造函数和拷贝构造函数同样使用冒号语法,调用基类的构造函数。组合与继承的关系。组合是A类成员中有B,继承是B是A的子类。主要问题在于这两个类的性质。组合表示A类中有B,继承表示B本质就是A(只是多了点别的什么东西)。分清类的性质,合理使用继承、组合。多继承就是继承多个基类,有他们的所有成员。如果出现成员名冲突,要在继承冲突的基类时加virtual虚继承。这时构造顺序变成虚拟基类构造函数->基类构造函数->成员对象构造函数(如果有)->自己的构造函数。书上建议尽量避免多继承。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值