C++學習筆記03--運算符重載(運算符符號篇)

在C++中,對 int,float,double 類型數據進行四則計算時,我們常常用到 + , - ,* ,/ 這四種運算符。但是如果我們要對我們自定義的類型進行 +, -, *, /運算時,我們要如何進行呢?
實際上我們可以通過構造函數來進行,但是當運算多次使用時,多次抽調函數是一件很麻煩的事情。所以C++中添加了 運算符重載(關鍵字**operator + 運算符**) 這樣一個功能,可以通過一次定義,就可以達到對自定義類型數據的 +,-,*,/ 運算。
接下來舉例說明:
#include<iostream>
using namespace std;

//在此處,我構建了一個自定義的Person類
class Person
{
public:
	//此處構建了兩個Person類的屬性
	int m_A;
	int m_B;
	
	//成員函數運算符重載,用 operator + 重載 “+” 運算符
	Person operator+ (Person& p) {
		Person temp;
		//定義Person類中“ + ”運算符的具體操作
		temp.m_A = this->m_A + p.m_A;
		temp.m_B = this->m_B + p.m_B;
		return temp;
	}
};

int main() {
	//定義兩個Person實例 p1 , p2
	Person p1;
	p1.m_A = 10;
	p1.m_B = 10;
	Person p2;
	p2.m_A = 10;
	p2.m_B = 10;
	
	//運算符重載實質其實爲函數的調用
	Person p3 = p1.operator+(p2);
	
	//運算符重載實際用法,實現對自定義類的相加運算
	Person p4 = p1 + p2;
	
	//輸出結果校驗
	cout << p4.m_A << endl;
	cout << p4.m_B << endl;

	system("pause");
	return 0;
}

接下來是運算結果,顯示重載後的 “ + ” 運算符實現了對自定義類Person四則運算的功能

在這裏插入圖片描述注意:重載的運算符也是可以有重載函數的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章