uacs2024

导航

C++ 下标运算符 [] 重载

下标操作符 [] 通常用于访问数组元素。重载该运算符用于增强操作 C++ 数组的功能。

 1 #include <iostream>
 2 using namespace std;
 3 const int SIZE = 10;
 4 class safearay
 5 {
 6    private:
 7       int arr[SIZE];
 8    public:
 9       safearay() 
10       {
11          register int i;
12          for(i = 0; i < SIZE; i++)
13          {
14            arr[i] = i;
15          }
16       }
17       int& operator[](int i)
18       {
19           if( i >= SIZE )
20           {
21               cout << "索引超过最大值" <<endl; 
22               // 返回第一个元素
23               return arr[0];
24           }
25           return arr[i];
26       }
27 };
28 int main()
29 {
30    safearay A;
31    cout << "A[2] 的值为 : " << A[2] <<endl;
32    cout << "A[5] 的值为 : " << A[5]<<endl;
33    cout << "A[12] 的值为 : " << A[12]<<endl;
34    return 0;
35 }

结果

$ g++ -o test test.cpp
$ ./test 
A[2] 的值为 : 2
A[5] 的值为 : 5
A[12] 的值为 : 索引超过最大值
0

 

posted on 2024-03-03 16:46  ᶜʸᵃⁿ  阅读(16)  评论(0编辑  收藏  举报