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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!