<分区>
在各种示例中,我看到您可以在类中使用不同的运算符来读取和写入类数组元素。但是当我在 Mingw 和 Borland 上尝试这个例子时,它总是调用 writing 运算符。
class Point3 { float coord[3]; public: float operator [] (int index) const; // For reading float & operator [] (int index); // For writing }; float Point3::operator [] (int index) const { printf("reading... \n") ; return 123.0*coord[index]; } float & Point3::operator [] (int index) { printf("writing... \n") ; return coord[index]; } int main(int argc, char* argv[]) { Point3 xyz ; xyz[0] = 1.0 ; printf("%3.2f",xyz[0]) ; return 0 ; } output: writing... writing... 1.00