mfc 类对象的引用

 类对象引用
 自写复制构造函数
 
 
一、 类对象引用
   在第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;
    //还有需要复制的数据,继续添加
}

 

posted @ 2016-12-14 18:06  whzym111  阅读(721)  评论(0编辑  收藏  举报