64,639
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
class A;
class B;
class B {
int l, r;
public:
friend class A;
B(int l, int r):l(l), r(r){}
void display() {
cout << "B : " << l << " " << r <<endl;
}
};
class A {
int l, r;
public:
A(int l, int r):l(l), r(r){}
int operator + (const int C) { // 1
return this->l + this->r + C;
}
int operator + (const A& B) { // 2
return this->l + this->r + B.l + B.r;
}
friend int operator + (A& a, B& b) { // 3
return a.l + a.r + b.l + b.r;
}
void display() {
cout << "A : " << l << " " << r <<endl;
}
};
int main() {
A p1(1, 2), p2(3, 4);
B p3(5, 6);
p1.display();
p2.display();
p3.display();
cout << p1 + 1 << endl; //找相应的运算符重载列表1
cout << p1 + p2 << endl; //找相应的运算符重载列表2
}