请根据程序的输出结果,重载类A的+和-运算符。
类和函数接口定义:
class A {public:
A(int x = 0, int y = 0) : x(x), y(y) {} void show() const;
A operator+(A& a); //重载+运算符
A operator-(A& a); //重载-运算符private: int x, y;
};
裁判测试程序样例:
#include <iostream>using namespace std;class A {public:
A(int x = 0, int y = 0) : x(x), y(y) {} void show() const;
A operator+(A& a);
A operator-(A& a);private: int x, y;
};void A::show() const { cout << "(x,y) = " << "(" << x << "," << y << ")" << endl;
}/* 请在这里填写答案 */int main() { A a1(1, 2); A a2(4, 5);
A a; cout << "a1:"; a1.show(); cout << "a2:"; a2.show();
a = a1 + a2; cout << "a:"; a.show();
a = a1 - a2; cout << "a:"; a.show(); return 0;
}
输入样例:
本题无输入。
输出样例:
a1:(x,y) = (1,2)
a2:(x,y) = (4,5)
a:(x,y) = (5,7)
a:(x,y) = (-3,-3)
作者李廷元单位民用航空飞行学院代码长度限制16 KB时间限制400 ms内存限制64 MBA A::operator+(A& a){
int x1=x+a.x;
int y1=y+a.y;
A b(x1,y1);
return b;
}
A A::operator-(A& a){
int x1=x-a.x;
int y1=y-a.y;
A b(x1,y1);
return b;
}
请根据程序的输出结果,重载类A的+和-运算符。
类和函数接口定义:
class A {public:
A(int x = 0, int y = 0) : x(x), y(y) {} void show() const;
A operator+(A& a); //重载+运算符
A operator-(A& a); //重载-运算符private: int x, y;
};
裁判测试程序样例:
#include <iostream>using namespace std;class A {public:
A(int x = 0, int y = 0) : x(x), y(y) {} void show() const;
A operator+(A& a);
A operator-(A& a);private: int x, y;
};void A::show() const { cout << "(x,y) = " << "(" << x << "," << y << ")" << endl;
}/* 请在这里填写答案 */int main() { A a1(1, 2); A a2(4, 5);
A a; cout << "a1:"; a1.show(); cout << "a2:"; a2.show();
a = a1 + a2; cout << "a:"; a.show();
a = a1 - a2; cout << "a:"; a.show(); return 0;
}
输入样例:
本题无输入。
输出样例:
a1:(x,y) = (1,2)
a2:(x,y) = (4,5)
a:(x,y) = (5,7)
a:(x,y) = (-3,-3)
作者
李廷元
单位
民用航空飞行学院
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
A A::operator+(A& a){ int x1=x+a.x; int y1=y+a.y; A b(x1,y1); return b; } A A::operator-(A& a){ int x1=x-a.x; int y1=y-a.y; A b(x1,y1); return b; }