-->
当前位置:首页 > 题库 > 正文内容

Luz4年前 (2021-03-08)题库1998
6-4 重载+-运算符 (10 分)

请根据程序的输出结果,重载类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;
}


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。