【发布时间】:2021-02-13 08:00:46
【问题描述】:
我们刚开始在我的计算模块中学习类和运算符重载,我对给出的示例之一有疑问:
#include <iostream>
using namespace std;
int main()
{
class PositivePoint
{
// Must return PositivePoint object by value
PositivePoint operator+(const PositivePoint& pSrc);
};
PositivePoint PositivePoint::operator+(const PositivePoint& pSrc)
{
Positive Point ret;
ret.mX = mX + pSrc.mX;
ret.mY = mY + pSrc.mY;
return ret;
}
// Return success
return 0;
}
我不断收到错误“unqualified-id in declaration before '(' token。我不明白为什么会这样,因为我认为在上面的示例中正确定义了运算符重载。
【问题讨论】:
-
您的
operator+定义很好。只是你不能在其他函数中定义函数。将类和成员函数定义移到main之外。
标签: c++ class operator-overloading