方括号重载运算符设置而不是获取c ++

时间:2017-10-18 23:01:03

标签: c++ operator-overloading

获取值(即函数返回值)

代表前 -

如果我们在main.cpp中执行此操作

cout << Object[0] << endl;

它将打印对象数组的第一个元素。

,该功能将如下所示

double myArray::operator[](int index) const {

    *//your code*
}

但是如果我们需要设置原型的样子怎么样呢?

让我们说在main.cpp中,我们有

object[0] = 5;

现在这应该将第一个元素设置为5,我们知道它不应该返回任何东西!所以return_type是无效的!!但是我们如何将索引(即0)和RHS(右侧)值传递给函数?

1 个答案:

答案 0 :(得分:2)

只需声明两个运算符

const double & myArray::operator[](int index) const {

    *//your code*
}

double & myArray::operator[](int index)  {

    *//your code*
}