C++下标运算符[]重载代码示例

 更新时间:2024年01月24日 09:15:36   作者:程子的小段  
这篇文章主要给大家介绍了关于C++下标运算符[]重载的相关资料,C++ 规定下标运算符[]必须以成员函数的形式进行重载,文中通过代码介绍的非常详细,需要的朋友可以参考下

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

下面的实例演示了如何重载下标运算符 []。

#include <iostream>
using namespace std;
const int SIZE = 10;
 
class safearay
{
   private:
      int arr[SIZE];
   public:
      safearay() 
      {
         register int i;
         for(i = 0; i < SIZE; i++)
         {
           arr[i] = i;
         }
      }
      int& operator[](int i)
      {
          if( i >= SIZE )
          {
              cout << "索引超过最大值" <<endl; 
              // 返回第一个元素
              return arr[0];
          }
          return arr[i];
      }
};
int main()
{
   safearay A;
 
   cout << "A[2] 的值为 : " << A[2] <<endl;
   cout << "A[5] 的值为 : " << A[5]<<endl;
   cout << "A[12] 的值为 : " << A[12]<<endl;
 
   return 0;
}

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

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

总结

到此这篇关于C++下标运算符[]重载的文章就介绍到这了,更多相关C++下标运算符[]重载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言八皇后问题解决方法示例【暴力法与回溯法】

    C语言八皇后问题解决方法示例【暴力法与回溯法】

    这篇文章主要介绍了C语言八皇后问题解决方法,简单描述了八皇后问题并结合实例形式分析了C语言基于暴力法与回溯法解决八皇后的具体操作技巧,需要的朋友可以参考下
    2018-01-01
  • QT6中QTextcodec头文件找不到的解决方法

    QT6中QTextcodec头文件找不到的解决方法

    本文主要介绍了QT6中QTextcodec头文件找不到的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 详解C++ thread用法总结

    详解C++ thread用法总结

    这篇文章主要介绍了详解C++ thread用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • C++二分法在数组中查找关键字的方法

    C++二分法在数组中查找关键字的方法

    这篇文章主要介绍了C++二分法在数组中查找关键字的方法,涉及C++数组查找算法的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • c++中的static修饰符示例详解

    c++中的static修饰符示例详解

    在c++中,静态成员是属于整个类而不是某个对象,静态成员变量只存储一份供所有对象共用,下面这篇文章主要给大家介绍了关于c++中static修饰符的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • C++ const修饰变量和修饰函数介绍

    C++ const修饰变量和修饰函数介绍

    这篇文章主要介绍了C++ const修饰变量和修饰函数介绍,本文直接用实例来讲解各自的作用,并总结了各自的使用技巧,需要的朋友可以参考下
    2015-03-03
  • C++中四种加密算法之DES源代码

    C++中四种加密算法之DES源代码

    本篇文章主要介绍了C++中四种加密算法之DES源代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-11-11
  • C++中try throw catch异常处理的用法示例

    C++中try throw catch异常处理的用法示例

    这篇文章主要给大家介绍了关于C++中try throw catch异常处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • C++11实现简易定时器的示例代码

    C++11实现简易定时器的示例代码

    这篇文章主要介绍了C++11实现简易定时器的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • kernel利用pt regs劫持seq operations的迁移过程详解

    kernel利用pt regs劫持seq operations的迁移过程详解

    这篇文章主要为大家介绍了kernel利用pt_regs劫持seq_operations进行迁移的过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论