【问题标题】:How to overload [] operator in c++?如何在 C++ 中重载 [] 运算符?
【发布时间】:2015-03-26 12:39:08
【问题描述】:

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

让我们定义 V_class var;

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

有人可以帮帮我吗?

【问题讨论】:

  • 您面临的问题是什么?
  • 你试过看std::vector这样的类的接口吗?
  • 我不知道怎么做 var[index] = a_number
  • 我不允许使用 std::vector
  • @pkenobi23 您可以查看vector 的重载原型以获取灵感。

标签: c++ operator-overloading overloading


【解决方案1】:

如果您通过引用返回对象,则分配将起作用。看看std::vector 或其他标准容器是如何做到的。

另外,请务必同时提供const 和非const 版本的运算符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多