下标运算符重载

Posted wanghao-boke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下标运算符重载相关的知识,希望对你有一定的参考价值。

重载该运算符用于增强操作C++数组的功能。

/***
subscript.cpp
***/
#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 << "the index is too big" << 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;

运行结果:

exbot@ubuntu:~/wangqinghe/C++/20190809$ g++ subscript.cpp -o subscript

exbot@ubuntu:~/wangqinghe/C++/20190809$ ./subscript

A[2] = 2

A[5] = 5

the index is too big

A[12] = 0

以上是关于下标运算符重载的主要内容,如果未能解决你的问题,请参考以下文章

下标运算符重载

对下标运算符[]和函数调用运算符()的重载

从下标运算符重载中返回一个数组

我想在cpp中实现python列表,但卡在重载下标运算符[]和逗号,[关闭]

重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符

cpp►常见运算符的重载