【发布时间】:2015-04-27 06:09:55
【问题描述】:
谁能在下面提到的代码中向我解释赋值运算符。我有
问题 1:为什么赋值运算符返回引用对象 [我知道这是用于类似 c1 = c2 = c3 的东西,但这是如何工作的]
Quest 2:我创建了动态指针tempName,但我没有释放内存,所以有内存泄漏。我该如何解决。或者有的话给我举个例子。
任务3:我已经在name中分配了tempName,所以name指向tempName如果我在return之前删除tempName,那么会发生什么。
Contact& operator=( const Contact& rhs ) {
char* tempName = new char[ strlen( rhs. name ) + 1] ;
delete[ ] name;
name = tempName;
strcpy( name, rhs. name ) ;
age = rhs. age;
return *this;
}
【问题讨论】:
标签: c++ operator-overloading copy-constructor assignment-operator