c++ 运算符重载


c++ 面向对象

运算符重载

operator 创建一个重载运算符

成员函数运算符重载

// 现在我们创建一个对象 
class Perjet {
	public: 
	// 定义两个int 类型变量
		int ba;
		int bb;

// 设置变量的值 
		Perjet() {}
		Perjet(int number,int number2) {
			ba = number;
			bb = number2;
		}

// 定义重载运算符
	Perjet operator+(Perjet &p) {  // 成员重载
		Perjet temp;
		temp.ba = this->ba + p.ba;
		temp.bb = this->bb + p.bb;
		return temp;
	}
};

调用

//  在调用的时候我们可以使用

	Perjet a(1,2);
	Perjet b(3,4);
	Perjet c = a + b;  // 重载 operator+  除了+还以使用其他的运算符

全局函数运算符重载

Perjet operator-(Perjet &p,Perjet &b) // 全局函数重载  
// 重载一个 - 号作用和成员函数重载一样 这里只是做一个演示,在实际使用中尽量避免-号执行加法运算的滥用
{
	Perjet temp;
	temp.ba = p.ba + b.ba;
	temp.bb = p.bb + b.bb;
	return temp;
}

调用 方法和成员函数一样

// 下面使调用这两个重载符号
cout << (a+b).ba << " | " << (a+b).bb << endl;
cout << (a-b).ba << " | " << (a-b).bb << endl;

输出

在这里插入图片描述

运算符重载函数发生重载

运算符重载函数,是可以发生重载的,我们再定义一个+ 号的重载


Perjet operator+(Perjet &p,int num){
	Perjet temp;
	temp.ba = p.ba + num;
	temp.bb = p.bb + num;
	return temp;
}

cout << (a+10).ba << " | " << (a+2).bb << endl;

执行结果

20210217175008

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值