C++ 加号运算符重载和左移运算符重载

C++ 加号运算符重载和左移运算符重载,第1张

#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<

}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/798034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存