对+进行重载时构造函数要用直接初始化
#include<iostream>
#include<map>
#include<algorithm>
#include<ctime>
#include<cstdlib>
#include<string>
#include<fstream>
//#include"英汉词典.txt"
using namespace std;
class Point
{
public:
int x1,y1;
public:
Point()
{
x1=1;
y1=2;
}
void display()
{
cout<<"("<<x1<<","<<y1<<")"<<endl;
}
};
class Line:public Point//注意public
{
public:
int x2,y2;
Line():Point()//注意要把x1,y1的参数也写上
{
x2=3;
y2=4;
}
void display()
{
cout<<"("<<x1<<","<<y1<<")"<<endl;
cout<<"("<<x2<<","<<y2<<")"<<endl;
}
friend ostream& operator<<(ostream& os,Line a)
{
a.display();
return os;
}
Line operator+(Line l2)
{
Line temp;
temp.x1=x1+l2.x1;
temp.x2=x2+l2.x2;
temp.y1=y1+l2.y1;
temp.y2=y2+l2.y2;
return temp;
}
};
int main()
{
Line l;
Line l2;
Line l1=l+l2;
cout<<l1<<endl;
return 0;
}