Data(const Data&d)
:_year(d._year)
, _month(d._month)
, _day(d._day)
{
}
我从练习代码里拿来的一个拷贝构造函数
首先要明确一点,拷贝构造函数只有一个函数,而且必须引用传参
如果直接传对象,比如这样
Data(const Data d)
{}
这里参数的Data d又会实例化一个对象,调用拷贝函数,但是拷贝构造函数被调用后又实例化了一个对象,再次调用了拷贝构造函数,形成无限递归,所以,必须引用嗷,不然没你好果汁吃