标签:运算符重载 ring operator round 构造 运算符 不用 opera amp
class string{
public:
string(const char *str=NULL);
string(const string& str); //copy构造函数的参数为什么是引用呢? 我相信大家都懂的!
string& operator=(const string & str); //赋值函数为什么返回值是引用呢?
~string();
};
如果返回值时, return *this后马上就调用拷贝构造函数。
但是万一由于没有定义拷贝构造函数 ,就会调用默认的拷贝构造函数。
我们知道调用默认的拷贝构造函数时当在类中有指针时就会出错(浅拷贝)。
所以如果你不用引用做返回是就必须定义自定义的拷贝构造函数。
标签:运算符重载 ring operator round 构造 运算符 不用 opera amp
原文地址:http://www.cnblogs.com/zhangkele/p/7625216.html