关于类组合

讨论问题3: 类组合

组合的概念是类中的成员数据是另一个类的对象

举例:上面的Distance类就是类组合,它的数据成员p1p2Point类的对象;另外作业Rectangle类也是类组合

理解类组合:类组合表达的是has a 有一个(或者说包含)这样的意义,是代码重用的一种手段。同学们在完成Rectangle类时,有的用了公有继承,公有继承表达了is a 的意义,派生类对象是一个基类的对象。公有继承也是代码重用的手段,将在后面的章节学到。

学习类组合需注意的问题:

特别关注构造函数的写法,用初始化表列完成子对象的初始化,如果没写,系统会调用子对象默认构造函数。也就是说,系统先完成子对象的初始化(分配空间),然后再进行其他数据成员的初始化。

 

详情请见上面的Distance类和下面参考代码的Rectangle类。

原文地址:https://www.cnblogs.com/zhaoyiyao/p/12703923.html