如何在 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
版本。
我定义了一个 class V_class,它有以下私有字段: 整数*数组; 整数大小;
让我们定义 V_class var;
我想重载 [] 运算符以便在我编写 var[index] 时访问元素 var.array[index]。我设法做到了这一点,但我必须做另一件事:当我想写 var[index] = a_number.
时,我的方法也应该有效有人可以帮我吗?
如果您通过引用 return 对象,赋值将起作用。看看 std::vector
或其他标准容器是如何做到的。
此外,请务必提供您的运算符的 const
和非 const
版本。