Я создал одноэлементный класс, который использует метод GetInstance()
для получения адрес экземпляра (указатель).
Внутри класса у меня есть массив unsigned long int, для которого я создал оператор []
(прямой доступ к массиву).
Как я могу использовать указатель, полученный из GetInstance
, чтобы использовать оператор[]
?
Я пробовал:
class risc { // singleton
protected:
unsigned long registers[8];
static risc* _instance;
risc() {
for (int i=0;i<8;i++) {
registers[i]=0;};
}
public:
unsigned long operator [](int i) const {return registers[i];}; // get []
unsigned long & operator [](int i) {return registers[i];}; // set []
static risc* getInstance() { // constructor
if (_instance==NULL) {
_instance=new risc();
}
return _instance;
}
};
risc* Risc=getInstance();
*Risc[X]=...
Но это не работает... есть ли способ использовать скобки для прямого доступа к массиву с помощью указателя класса?
Спасибо!