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