在现实生活中,复杂对象基本是用更小更简单的对象建造的。举例,一辆车用金属框架、引擎、轮胎,和大量其他部件组装。这个过程叫[ruby=composition]组合[/ruby]。
在C++中,对象组合是通过将类作为其他类的成员而完成的。
这个示例程序演示了组合的使用。它包含Person和Birthday类,每个Person都会有一个Birthday对象作为其成员。
Birthday:
class Birthday {
public:
Birthday(int m, int d, int y)
: month(m), day(d), year(y)
{
}
private:
int month;
int day;
int year;
};
我们的Birthday类有三个成员变量。它也有通过成员初始化列表初始化成员的构造函数。
为了简洁,这个类在单文件中声明。你也可以分开源文件和头文件。
Part题:
填空在构造函数初始化列表中初始化Birthday类成员。
Birthday::Birthday(int m, int d, int y)
_ month(m),
day(d),
year( _ )
{
}
|