第十四章 继承和组合

简介:代码重用机制:组合(composition)与继承(inheritance)

14.1 组合语法

访问嵌入对象(子对象)的成员函数只需要再一次的成员选择。

14.2 继承语法

在类的左括号前,加一个冒号和基类的名字,对于多个基类,用逗号分开。

14.3 构造函数的初始化表达式表

如果没有显示的进行伪构造函数的调用,初始化是不会执行的。

14.4 组合和继承的联合

只有通过继承才能重现定义它的函数。而对于成员对象,只能操作这个对象的公共接口,而不能重新定义它。

构造是从类层次的最根处开始,而在每一层,首先会调用基类构造函数,然后调用成员对象构造函数。调用析构函数则严格按照构造函数相反的次序。

14.5 名字隐藏

14.6 非自动继承的函数

构造函数和析构函数不能被继承,必须为每一个特定的派生类分别创建。

operator= 也不能被继承。

继承和静态成员函数(静态成员函数与非静态成员函数的共同点):
1. 它们均可以被继承到派生类中
2. 如果我们重新定义了一个 静态成员,所有在基类中的其他重载函数会被隐藏
3. 如果我们改变了基类中一个函数的特征,所有使用该函数名字的基类版本都将会被隐藏

14.7 组合与继承的选择

组合通常是希望新类内部具有已存在类的功能时使用,而不是希望已存在了类作为它的接口。

14.8 protected

protected:就这个类的用户而言,它是private的,但它可以被从这个类继承来的任何类使用。

14.9 运算符的重载和继承

14.10 多重继承

14.11 渐曾式开发

14.12 向上类型转换

你可能感兴趣的:(第十四章 继承和组合)