结论:
复合的意义和public继承全然不同.
(public继承參考:条款32 确定你的public继承塑模出is-a关系)
在应用域,复合意味着has-a(有一个).在实现域,复合意味着is-implemented-in-terms-of(依据某物实现出)
复合(composition)是类型之间的一种关系,当某种类型的对象内含其它类型的对象,便是这样的关系:
class Address{...}; class PhoneNumber{...}; class Person{ ... private: std::string name_; Address address_; PhoneNumber voiceNumber_; PhoneNumber faxNumber_; };本例中Person就包括了string,Address,PhoneNum合成成分物,它们之间就构成了复合的关系。