学学笔记 - 官方 Qiter | 学习笔记

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

发布时间:2年前热度: 586 ℃评论数:

下标操作符 [] 通常用于访问数组元素。重载该运算符用于增强操作 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. }

当上面的代码被编译和执行时,它会产生下列结果:

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

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

栏目导航

  1. Cpp笔记

手机扫码访问

Scan me!