如何在 C++ 中重载 [] 运算符?

How to overload [] operator in c++?

我定义了一个 class V_class,它有以下私有字段: 整数*数组; 整数大小;

让我们定义 V_class var;

我想重载 [] 运算符以便在我编写 var[index] 时访问元素 var.array[index]。我设法做到了这一点,但我必须做另一件事:当我想写 var[index] = a_number.

时,我的方法也应该有效

有人可以帮我吗?

如果您通过引用 return 对象,赋值将起作用。看看 std::vector 或其他标准容器是如何做到的。

此外,请务必提供您的运算符的 const 和非 const 版本。