C operator關鍵字(過載操作符)

2021-08-22 16:28:03 字數 770 閱讀 2093

operator是c++的關鍵字,它和運算子一起使用,表示乙個運算子函式,理解時應將operator=整體上視為乙個函式名。

這是c++擴充套件運算子功能的方法,雖然樣子古怪,但也可以理解:一方面要使運算子的使用方法與其原來一致,另一方面擴充套件其功能只能通過函式的方式(c++中,「功能」都是由函式實現的)。

(1)為什麼要對運算子進行過載:

c++預定義中的運算子的操作物件只侷限於基本的內建資料型別,但是對於我們自定義的型別(類和結構體)是沒有辦法操作的。但是大多時候我們需要對我們定義的型別進行類似的運算,這個時候就需要我們對這麼運算子進行重新定義,賦予其新的功能,以滿足自身的需求。

(2)c++運算子過載的實質:

運算子過載的實質就是函式過載或函式多型。運算子過載是另一種形式的c++多型(函式過載為編譯多型,虛函式為執行多型)。目的在於讓人能夠用同名的函式來完成不同的基本操作。要過載運算子,需要使用被稱為運算子函式的特殊函式形式。

《返回型別說明符》 operator 《運算子符號》(《參數列》)

#include using namespace std;

class test

test operator+( const test& r );

private:

int m_a;

int m_b;

};test test::operator+( const test& r )

int main(void)

C operator 關鍵字的用法

operator 只要是運算子都能過載 operator 關鍵字的主要作用是用來過載運算子的,還可以用於類或結構中型別的自定義轉換。下面看個例子 class feige 過載加法運算子 public static feige operator feige f,feige g 過載乘法運算子 publ...

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...

this關鍵字 static關鍵字

1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...