类对象引用 自写复制构造函数 一、 类对象引用 在第4课的时候,我们已经讨论过C++引用特性。类变量的引用呢,实际上也是类似的。 Tdate d1; Tdate &d2=d1; 二、自写复制构造函数 Tdate d1; Tdate d2=d1; //会调用默认复制构造函数 Tdate::Tdate(d1); 通过以上调用我们可以写出复制构造的原型如下 Tdate::Tdate(Tdate d) //但如此定义,新的问题随之而来 ,因为d是按值传送的,在传送的时候会调用默认复制构造函数创建一个副本。如果如上定义那么我们将陷入无休止的循环中。 解决办法就是使用引用。以上函数原型修改后如下: Tdate::Tdate(Tdate &d) //Tdate d2=d1;中d是对d1的引用 //date.h Tdate(Tdate &d);//默认复制构造函数说明 //date.cpp Tdate::Tdate(Tdate &d) //自定义的复制构造函数 { printf("\n进入自定义复制构造函数\n"); Tdate::year=d.year; Tdate::month=d.month; Tdate::day=d.day; //还有需要复制的数据,继续添加 }