classhead
{};
classbody
{};
calss human
{
private:
head h; // 数据成员对象表示的组合关系
body b; //
}
聚合
聚合,同样表的是整体和局部的关系,但是这种关系要松散得多,整体和局部拥有各自的生命周期,两者可以单独存在,相互独立,并不像组合一样两者相互依存,但两者也可以聚合在一起,形成一个新的类型。比如,我们说“people has a house”(某人有房子,房子和人都是各自独立的,而两者聚合在一起,就成了“有房子的人”),在C++中,我们通常在整体类中加入指向局部类的指针,来表达这种“聚合”关系。
calss house
{};
class people
{
/// ...
private:
house* pHouse; // 指针表示的聚合关系
};