C++中的代码重用

第14章 c++中的代码重用

--14.1 包含对象成员的类
----14.1.1 valarray 类简介
----14.1.2 Student 类的设计
----14.1.3 Student 类范例

--14.2 私有继承
----1. 初始化基类组件
----2. 访问基类的方法
----3. 访问基类对象
----4. 访问基类的友元函数
----5. 使用修改后的Student类
----6. 使用包含还是私有继承
----7. 保护继承
----8. 使用using重新定义访问权限
--------使用保护派生或私有派生时,基类的公有成员将成为保护成员或私有成员.假设要让基类的方法在派生类外面可用:
--------方法一是定义一个使用该基类方法的派生类方法.
--------方法二是讲函数调用包装在另一个函数调用中,即使用一个using声明(就像名称空间那样)来之处派生类可以使用特定的基类成员,即使采用的是私有派生.

--14.3 多重继承(Multiple inheritance, MI)
----14.3.1 有多少Worker
--------1. 虚基类
--------2. 新的构造函数规则
----14.3.2 哪个方法(调用基类还是子类的方法)
--------1. 混合使用虚基类和非虚基类
--------2. 虚基类和支配
----14.3.3 MI 小结

--14.4 类模板
----14.4.1 定义类模板
----14.4.2 使用模板类
----14.4.3 深入探讨模板类
--------1. 不正确地使用指针堆栈
--------2. 正确使用指针堆栈
----14.4.4 数组模板范例和非类型参数
----14.4.5 模板多功能性
--------1. 递归使用模板
--------2. 使用多个类型模板
--------3. 默认类型模板参数
----14.4.6 模板的具体化
--------1. 隐式实例化
--------2. 显式实例化
--------3. 显式具体化
--------4. 部分具体化
----14.4.7 成员模板
----14.4.8 将模板用作参数
----14.4.9 模板类和友元

--------1. 模板类的非模板友元函数
--------2. 模板类的约束模板友元函数
--------3. 模板类的非约束模板友元函数

--14.5 总结
-----使用私有继承时,基类的公有成员和保护成员将成为派生类的私有成员.
-----使用保护继承时,基类的公有成员和保护成员将成为派生了你的保护成员
-----无论使用哪种继承,基类的公有接口都将成为派生类的内部接口.这有时候被称为继承实现,
---但并不继承接口,因为派生类对象不能显示地使用基类的接口.
-----因此,不能将派生对象看作是一种基类对象.由于这个原因,在不进行显式类型转换的情况下,基类指针或引用将不能指向派生类对象.
-----多重继承使得能够在类设计中重用多个类的代码.私有MI或保护MI建立has-a关系,而公有MI建立is-a关系.MI会带来一些问题,
---即多次定义同一个名称,继承多个基类对象.可以使用类限定符来解决二义性的问题,使用虚基类来避免继承多个基类对象的问题.
---但使用虚基类后,就需要为编写构造函数初始化列表以及解决二义性问题引入新的规则.
-----类模板使得能够创建通用的类设计,其中类型(通常是成员类型)由类型参数表示.(详见C++ Primer Plus page532)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值