代码改变世界

Effective C++ 学习笔记(24)

2011-08-07 17:52  Daniel Zheng  阅读(236)  评论(0编辑  收藏  举报

通过分层来体现“有一个”或“用...来实现”


  使某个类的对象成为另一个类的数据成员,从而实现将一个类构筑在另一个类之上,这一过程称之为“分层”。例如:

  

class Address {...};

class PhoneNumber {...};

class Person
{
public:
...
private:
string name;
Address address;
PhoneNumber voiceNumber;
PhoneNumber faxNumber;
};

  本例中,Person 类被认为是置于string,Address 和PhoneNumber 类的上层,因为它包含那些类型的数据成员。"分层" 这一术语有很多同义词,它也常被称为:构成(composition),包含(containment)或嵌入(embedding)。