注册 登录
编程论坛 C++教室

运算符重载 问题 急!!!

weiqiang 发布于 2010-11-19 22:13, 510 次点击
我这程序是
只有本站会员才能查看附件,请 登录
重载加运算符不知道运行时出现了问题, 我不知道哪错了,希望大家帮忙
3 回复
#2
lintaoyn2010-11-20 11:50
只有本站会员才能查看附件,请 登录

主要是 + 和 = 的重载都有错,还有构造函数,给你改好了,你自己看看。
#3
weiqiang2010-11-20 15:10
重载加运算符是可以 不用返回str对象,而是这样return (string(m_data))返回无名对象。还有为什么重载=运算符要判断a= a呢?
#4
lintaoyn2010-11-20 16:17
你做一个加法会改变自身的值么?按你想的A+B之后A的值不就变了。返回无名对象当然可以了,可是由谁来释放用new申请来保存字符串的内存?
= 这是因为先释放,然后再获取。
(早上没想好,其实只用在新字符长度大于自己所能容纳的长度时才重新申请内存,这样效率能更高。)
我好像说的不太明白,你哪里不懂再说的。
1