标题:运算符重载 问题 急!!!
只看楼主
weiqiang
Rank: 2
等 级:论坛游民
帖 子:48
专家分:52
注 册:2010-10-18
结帖率:70%
已结贴  问题点数:20 回复次数:3 
运算符重载 问题 急!!!
我这程序是
4_2.rar (1.13 MB)
重载加运算符不知道运行时出现了问题, 我不知道哪错了,希望大家帮忙
搜索更多相关主题的帖子: 重载 运算符 
2010-11-19 22:13
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:605
专家分:2489
注 册:2009-4-8
得分:20 
4_32.rar (606.98 KB)

主要是 + 和 = 的重载都有错,还有构造函数,给你改好了,你自己看看。

迭代的是人,递归的是神。
2010-11-20 11:50
weiqiang
Rank: 2
等 级:论坛游民
帖 子:48
专家分:52
注 册:2010-10-18
得分:0 
重载加运算符是可以 不用返回str对象,而是这样return (string(m_data))返回无名对象。还有为什么重载=运算符要判断a= a呢?
2010-11-20 15:10
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:605
专家分:2489
注 册:2009-4-8
得分:0 
你做一个加法会改变自身的值么?按你想的A+B之后A的值不就变了。返回无名对象当然可以了,可是由谁来释放用new申请来保存字符串的内存?
= 这是因为先释放,然后再获取。
(早上没想好,其实只用在新字符长度大于自己所能容纳的长度时才重新申请内存,这样效率能更高。)
我好像说的不太明白,你哪里不懂再说的。

迭代的是人,递归的是神。
2010-11-20 16:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-326290-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032319 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved