带有排序数组的C ++重载[]运算符

时间:2017-12-29 18:34:32

标签: c++ arrays sorting

我有一个名为Vector的类,它包含带数字的动态数组。但数组必须始终排序。我有一些方法,如changeSizeaddElement等,但唯一的问题是重载数组运算符。必须返回特定的数字才能读或写。这是我的代码:

double &Vector::operator[](unsigned index) {
if (!length || index > length - 1) {
    std::fputs("Vector::operator[]: invalid index!", stderr);
    exit(EXIT_FAILURE);
}
return vector[index];
}

一切都很好但这个方法打破了整齐的主体。例如:

Vector vector(2);
vector[0] = 1.2;

在这种情况下,我正在更改函数外部的值,并且无法对已排序的元素进行更改。有没有办法用[]运算符?

0 个答案:

没有答案