unarios sobrecarga sencillos relacionales poo operadores metodos matrices ejemplos c++ indexing overloading square-bracket

sencillos - sobrecarga de operadores relacionales en c++



Operadores de soporte de sobrecarga[] para obtener y establecer (2)

Debe devolver una referencia de su operator[] para que el usuario de la clase lo use para establecer el valor. Entonces la firma de la función sería unsigned long& operator [](int i) .

Tengo la siguiente clase:

class risc { // singleton protected: static unsigned long registers[8]; public: unsigned long operator [](int i) { return registers[i]; } };

Como puede ver, he implementado el operador de corchetes para "obtener".
Ahora me gustaría implementarlo para la configuración, es decir: risc[1] = 2 .

¿Cómo puede hacerse esto?


Prueba esto:

class risc { // singleton protected: static unsigned long registers[8]; public: unsigned long operator [](int i) const {return registers[i];} unsigned long & operator [](int i) {return registers[i];} };