*this做参数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 14:05:21
已经定义一个叫Time的类和其中一个叫t1的对象;在对t1对象的某个成员函数操作中有这样一段:Time temp(*this);...........return temp;
其目的是返回操作前的对象(即t1)。

但我不明白,在新定义的temp对象中代入*this做参数是何解?它是如何使得temp对象内的数据成员的值等于当时this指针所指向的t1对象内的数据。小弟只知道通过构造函数给新定义的对象传入参数,这样的形式能明白,但其具体实现不理解。。。是怎么个过程呢?

拷贝构造函数 重写=号运算符
系统将自动定义一个拷贝构造函数 使得成员变量相等赋值
Time operator=(Time temp)
{
this->成员变量=temp.相应成员变量
……
return temp
}
大约是这样的拷贝构造函数 所以可以互相复制

this指针是始终指向当前对象的指针。