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

下标操作符  [ ]     常用于在容器类型中以下标方式获取元素

下标运算符重载函数只能定义成员函数:

    类型& operator[](形参)
    {
    }

在 C++ 中,在重载下标运算符 “[ ]” 时,认为它是一个双目运算符,例如 X[Y] 可以看成:

[ ]-----双目运算符;
X-----左操作数;
Y-----右操作数。
其相应的运算符重载函数名为 operator[ ]。
假设 X 是某一个类的对象,类中定义了重载“[ ]”的 operator[ ] 函数,则表达式:X[Y];
可被解释为:X.operator[](Y);

注意:形参在此表示下标,C++ 规定只能有一个参数。

#include
#include
using namespace std;

class Array
{
    int* arr;
    size_t len;
public:
    Array(size_t len):len(len)
    {   
        arr=new int[len];
    }   
    int& operator[](int i)
    {   
        if(i<0 || i>=len)
        {   
            cout<<"下标错误!"<

重载下标运算符“[ ]”时,返回一个 int 型的引用,可使重载的“[ ]”用在赋值语句的左边,因而在 main 函数中,ve[i] 可以出现在赋值运算符的任何一边,使编程更灵活。
 

你可能感兴趣的:(#,C++深度解析,重载下标运算符)