【发布时间】:2011-09-13 17:29:45
【问题描述】:
我在 c++ 代码中有一个名为 ThreeDigits 的类。我这样重载了 + 操作数:
ThreeDigits* ThreeDigits::operator+(const ThreeDigits &number) const
{
double result= getNumber()+number.getNumber();
ThreeDigits* new_result=new ThreeDigits(result);
return new_result;
}
但是当我写在main函数上时:
ThreeDigits* first=new ThreeDigits(2.55998);
ThreeDigits* second=new ThreeDigits(5.666542);
ThreeDigits* result=first+second;
我收到以下编译错误: ThreeDigits* 和 ThreeDigits* 类型的无效操作数到二元运算符+
你能告诉我是什么问题吗?谢谢
【问题讨论】:
-
你需要忘记
new。 -
怎么样:ThreeDigits* result=(*first)+(*second);
-
...在取消学习
new之后,开始学习如何accept回答。 -
你说“接受”答案是什么意思?
-
@Kerrek:过去一个小时左右的第四次,我看到 OP 的接受率为 0%,我不知道发生了什么 :)
标签: c++ overloading operator-keyword