重载+=
我有一个类Point,包括两个实数;
在+ 和=都重载成功的基础上,重载+= 如下:
operator+= (const Point& p)
{
*this = *this + p;
return *this;
}
重载运算符都是友元函数,说参数太少,不知道该怎么修改,高手帮忙改一下,谢谢!
[解决办法]
1.通常用+=来实现+。
2.operator+=应该返回Pointer&。
3.你那个是不是类成员函数?如果不是,就不能用this指针,应该声明为
Pointer& operator+=(Pointer& lhs, Pointer const& rhs);
[解决办法]
Point& operator+=(Point& s, const Point& n)
{
s = s + n;
return s;
}
[解决办法]
Point& operator+= (const Point& p)
{
x+=p.x;
y+=p.y;
return *this;
}
[解决办法]
如果使用友元而不是类成员函数那么同意三楼的....
Pointer& operator+=(Pointer& lhs, Pointer const& rhs);