在 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上為其分配空間...