C 下標運算子 過載

2021-09-12 11:38:37 字數 398 閱讀 7148

下標操作符 通常用於訪問陣列元素。過載該運算子用於增強操作 c++ 陣列的功能。

下面的例項演示了如何過載下標運算子 。

#include using namespace std;

const int size = 10;

class safearay

}int& operator(int i)

{if( i > size )

{cout << "索引超過最大值" 當上面的**被編譯和執行時,它會產生下列結果:

$ g++ -o test test.cpp

$ ./test

a[2] 的值為 : 2

a[5] 的值為 : 5

a[12] 的值為 : 索引超過最大值

0

下標運算子「 」的過載

在 c 中,在過載下標運算子 時,認為它是乙個雙目運算子,例如 x y 可以看成 雙目運算子 x 左運算元 y 右運算元。其相應的運算子過載函式名為 operator 假設 x 是某乙個類的物件,類中定義了過載 的 operator 函式,則表示式 x y 可被解釋為 x.operator y 下標...

C 運算子過載 過載特殊運算子

賦值運算子用於同類物件間的相互賦值。賦值運算子只能被過載為類的非靜態成員函式,不能過載為友元函式和普通函式。對於使用者自定義的類而言,如果沒有過載賦值運算子,那麼c 編譯器會為該類提供乙個預設的過載賦值運算子成員函式。預設賦值運算子的工作方式是按位對拷,將等到右邊物件的非靜態成員拷貝給等號左邊的物件...

C 運算子過載賦值運算子

自定義類的賦值運算子過載函式的作用與內建賦值運算子的作用類似,但是要要注意的是,它與拷貝建構函式與析構函式一樣,要注意深拷貝淺拷貝的問題,在沒有深拷貝淺拷貝的情況下,如果沒有指定預設的賦值運算子過載函式,那麼系統將會自動提供乙個賦值運算子過載函式。賦值運算子過載函式的定義與其它運算子過載函式的定義是...