I have the following class:
class risc { // singleton
protected:
static unsigned long registers[8];
public:
unsigned long operator [](int i)
{
return registers[i];
}
};
as you can see I've implemented the square brackets operator for "getting".
Now I would like to implement it for setting, i.e.: risc[1] = 2
.
How can it be done?
You need to return a reference from your
operator[]
so that the user of the class use it for setting the value. So the function signature would beunsigned long& operator [](int i)
.Try this: