中易网

error C2659: '=' : overloaded function as left operand求大神帮我看看C++程序

答案:2  悬赏:20  
解决时间 2021-03-22 04:03
#include "stdafx.h"
#include "Point.h"
#include
using namespace std;

class Point
{
public:
Point operator + (Point p);
Point operator - (Point p);
Point operator = (Point p);
int getX();
int getY();
Point();
Point(int x,int y);
Point(const Point & p);
void Point::printf(){cout<<"("<
protected:
int x,y;
};
int main()
{
Point p1(1,3),p2(5,7),p3(),p4();
p3=p1+p2;
cout<<"p1"; p1.printf();
cout<<"p2"; p2.printf();
cout<<"p3=p1+p2="; (p1+p2).printf();
cout<<"p4=p1-p2="; (p1-p2).printf();
return 0;
}
Point::Point(int x,int y):x(x),y(y)
{
// cout<<"调用带参构造函数"<}

Point::Point()
{
}
Point::Point(const Point & p)
{
x=p.x;
y=p.y;
// cout<<"调用带参拷贝构造函数"<
}
int Point::getX()
{
return x;
}
int Point::getY()
{
return y;
}
Point Point::operator +(Point p)
{
return Point(x+p.x,getY()+p.getY());
}
Point Point::operator -(Point p)
{
return Point(x-p.x,y-p.y);
}
最佳答案
Point& operator = (Point& p){
x=p.x;y=p.y;
return *this;
}把这个函数改一下即可
全部回答
void readdat(); // 原型声明加在main以前 void writedat(); // 原型声明加在main以前 void main() { (void) readdat(); // 调用 不写 void,或写带括号的void (void) jssort(); // 调用 (void) writedat(); // 调用 // 你的写法是 原型声明, 主程序变成 没有执行语句,什么结果都得不到。 } --- file *out(); -- 多了括号,去掉就好了 file *out;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
将港币换成人民币,只有中国银行可以换吗?
analytically什么意思
大专交学费是拿卡付还是现金
饸能组什么词
你好,随便果多少钱一盒,145斤左右一般要买
益达口香糖什么味好吃呀
请问沈阳哪里卖双人床便宜?最好300/400左
从汉口到潜江能否改签从武昌到潜江?
福利彩票最高奖金多少
地毯的主要技术指标有哪些,具体都是什么
新疆霍城县出入境网上办事大厅
有什么好听的日语歌.最好是动漫的...
请问我的这台电脑好吗,大概值多少钱
百雀翎的美白面膜好用吗?有什么面膜可以收缩
彩虹岛的乔巴帽子怎么弄?详细的
推荐资讯
求 古墓丽影 同人小说
好纠结,是买steam繁中猛汉世界,还是腾讯便
三星G7106前置摄像头视频通话不清晰
如何把桌面图标分开摆放
那被科学家在蛇的启示发明了红外线
一个母亲经常咒骂自己的孩子 这样的人怎样看
小笨鸡炖蘑菇是怎么做的
慰问老干部用什么礼品好?
岳阳玻尿酸隆鼻价格?
开黑士鸭需要加盟费吗
搜索古中外的经典诗歌各两.
山东省枣庄市市中区西昌路邮编是什么?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?