c++的改成vc的

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:37:37
friend Pointoperator+(const Point&a,const Point&b);
把这段改成VC中编译能通过的,谢谢,
#include<iostream>
using namespace std;
class Point{
int x,y;
public:
void set(int a,int b){x=a,y=b;}
void print()const{cout<<"("<<x<<","<<y<<")\n";}
friend Pointoperator+(const Point&a,const Point&b);
friend Point add(const Point&a,const Point&b);
};
Point& operator+(const Point&a,const Point&b){
Point s;
s.set(a.x+b.x,a.y+b.y);
return s;
}
Point add(const Point&a,const Point&b){
Point s;
s.set(a.x+b.x,a.y+b.y);
return s;
}
int main(){
Point a,b;
a.set(3,2);
b.set(1,5);
(a+b).print();
operator+(a,b).print();
add(a+b).print();
}

http://zhidao.baidu.com/question/7497491.html?si=8

是这个吧
运行通过!

#include <iostream>
using namespace std;
class Point;//要加声明
Point operator+(Point &a,Point &b);//要加声明
//##############################################
class Point
{
public:
int x,y;
void set(int a,int b)
{
x=a,y=b;
}
void print() const
{
cout<<"("<<x<<","<<y<<")\n";
}
friend Point operator+(const Point &a,const Point &b);
friend Point add( Point &a, Point &b);
};
//---------------------------------------------------------
Point operator+( Point &a,Point &b)
{
Point s;
s.set(a.x+b.x,a.y+b.y);
return s;
}//---------------------------------------------------------
Point ad