私有的,那么你的代码就会编译通不过。
构造函数写起来很简单,如果Date有构造函数的话,尽可能地在构造函数的初始化部分调用Date的构造函数来初始化Date birthday对象。如:
class Date
{
private:
int y,m,d;
public:
Date(int y1=0,int m1=0,int d1=0):y(y1),m(m1),d(d1){}//注意:后的部分,这部分为初始化,比起在函数体内再对各个成员进行赋值,效率要高。
};
class employee
{
public:
employee(string temp,int y,int m,int d):name(temp),
birthday(y,m,d)//这里调用的是刚才定义的那个Date的构造函数
{}
employee(string temp,Date d):name(temp),
birthday(d){}//此处调用了Date类的默认的复制构造函数
private:
Date birthday;
string name;
};