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

Square bracket overloading operator to set instead of get c++

本文关键字:获取 c++ 设置 重载 运算符 方括号      更新时间:2023-10-16

用于获取值(即函数返回值)

对于前 -

如果我们在主要情况下这样做.cpp

cout << Object[0] << endl;

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

函数将如下所示

double myArray::operator[](int index) const {
    *//your code*
}

但是,如果我们需要设置值,原型会是什么样子呢?

假设在main.cpp中,我们有

object[0] = 5;

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

只需声明两个运算符

const double & myArray::operator[](int index) const {
    *//your code*
}

double & myArray::operator[](int index)  {
    *//your code*
}