代理构造
class T
{
pulic:
T():T(0){};
T(int i):T(i,0){};
T(int i,int k)
{
num1=i;
num2=j;
}
-----
}
//d代理构造 如上所示,在初始化列表中调用其他初始化构造函数;
不可变对象和类
1.所有数据成员处于private状态
2.或无更改器函数 no mutators
3.注意:即便满足上述条件未必意味着不可以修改
//不能有特殊的访问器
eg
:
class Empolyer
{
private:
birthday:birth;
public:
getbirthday():Data*;
}
class Data
{
public:
setyear(std::chrono::month):void;
}
int main()
{
Empolyer emjack{"JACK“,Data(1920,2,2)};
Data *birthday=emjack.getbirthday();
birthday->setyear(2010);
}