#include
#include
using namespace std;
//加号运算符重载(可成员可全局)
//不能滥用(加就是加,不要用加实现减法 *** 作(可以减法))
//左移只能全局
class p {
public:
int a;
int b;
//p operator+(p& pp) {//operator+成员重载
// p zj;//临时对象
// zj.a = this->a + pp.a;
// zj.b = this->b + pp.b;
// return zj;
//}//ctrl k c 全部注释
};
p operator+(p& p1, p& p2) {//全局重载
//加号运算符重载
p zj;
zj.a = p1.a + p2.a;
zj.b =p1.b + p2.b;
return zj;
}
ostream& operator<<(ostream& out, p& pp) {
//&可以起别名,这里可以是别的
out<<"a=" << pp.a << "b=" << pp.b << endl;
return out;//后续可以endl
}
p operator+(p& p1, int num) {//全局重载
p zj;
zj.a = p1.a + num;
zj.b = p1.b + num;
return zj;
}
int main() {
p p1, p2;
p1.a = 10;
p1.b = 5;
p2.a = 20;
p2.b = 20;
cout << p1<<endl ;
//p p3 = p1 + p2;//直接这样会错误
//p p3 = p1 + p2;
//p p4 = p1 + 20;
//cout << p4.a << endl;
//cout << p3.b<
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)