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

跪求大神。小弟我写的程序不对么

2012-09-06 
跪求大神。我写的程序不对么?题目:声明一个Point类,有坐标(x,y)两个成员变量;对Point类重载“++”(自增)、“--”

跪求大神。我写的程序不对么?
题目:声明一个Point类,有坐标(x,y)两个成员变量;对Point类重载“++”(自增)、“--”(自减)运算符,实现坐标值的改变。

我的代码是:
#include <iostream>
using namespace std;
class point
{
public:
point(int x,int y)
{
this->x=x;
this->y=y;
}
~point(){}
void print()
{
cout<<"x="<<x<<",y="<<y<<endl;
}
void operator++()
{
x++;
y++;
}
void operator--()
{
x--;
y--;
}

private:
int x;
int y;
};
int main()
{
point a(2,2);
a++;//a.operator++(a)
a.print();
a--;
a.print();
return 0;
}

而正确答案是:

#include <iostream>
using namespace std;
class Point
{
private:
int x;
int y;
public:
Point(int x,int y)
{
this->x=x;
this->y=y;
}
Point& operator ++()
{
  x++;
y++;
return *this;
}
Point& operator --()
{
  x--;
y--;
return *this;
}
void print()
{
  cout<<"x="<<x<<",y="<<y<<endl;
}
};
int main()
{
Point p(2,2);
++p;
p.print();
--p;
p.print();
}


我想知道我做的对么。。
和正确答案不同。。但是也可以出结果。。
那么答案比我好在哪里呢

[解决办法]
++和--运算符有返回值,这样就可以给其他对象赋值。例如p2=++p1;

热点排行