首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

重载+=,该怎么处理

2012-02-27 
重载+我有一个类Point,包括两个实数;在+和都重载成功的基础上,重载+如下:operator+(constPoint&p){*th

重载+=
我有一个类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);

热点排行