下標運算子「 」的過載

2021-09-09 02:31:43 字數 875 閱讀 7195

在 c++ 中,在過載下標運算子 「[ ]」 時,認為它是乙個雙目運算子,例如 x[y] 可以看成:

--

---雙目運算子;

x----

-左運算元;

y----

-右運算元。

其相應的運算子過載函式名為 operator[ ]。

假設 x 是某乙個類的物件,類中定義了過載「[ ]」的 operator[ ] 函式,則表示式:

x[y]

;

可被解釋為:

x.

operator

(y);

下標運算子過載函式只能定義成員函式,其形式如下:

返回型別 類名::operator[ ] (形參)

注意:形參在此表示下標,c++ 規定只能有乙個引數。

例 1:使用下標運算子過載函式的例子

#include

using

namespace std;

class

vector4

int&

operator

(int bi)

;//宣告下標運算子 過載函式 };

int&vector4::

operator

(int bi)

return v[bi];}

intmain()

說明:

過載下標運算子「[ ]」時,返回乙個 int 型的引用,可使過載的「[ ]」用在賦值語句的左邊,因而在 main 函式中,ve[i] 可以出現在賦值運算子的任何一邊,使程式設計更靈活。

C 下標運算子 過載

下標操作符 通常用於訪問陣列元素。過載該運算子用於增強操作 c 陣列的功能。下面的例項演示了如何過載下標運算子 include using namespace std const int size 10 class safearay int operator int i if i size cout...

運算子過載 賦值運算子的過載

有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...

運算子過載 類的賦值運算子過載

下面介紹類的賦值運算子 1.c 中物件的記憶體分配方式 在c 中,物件的例項在編譯的時候,就需要為其分配記憶體大小,因此,系統都是在stack上為其分配記憶體的。這一點和c 完全不同!千 萬記住 在c 中,所有類都是reference type,要建立類的實體,必須通過new在heap上為其分配空間...