Utworzono klasę singleton, która używa metody GetInstance()
, aby uzyskać adres instancji (wskaźnik). Wewnątrz klasy mam tablicę unsigned long int, dla której utworzyłem dla niej operator []
(bezpośredni dostęp do tablicy). Jak mogę użyć wskaźnika, który otrzymałem od GetInstance
, aby użyć [] operator
? Próbowałem:C++ za pomocą nawiasów kwadratowych ze wskaźnikiem do instancji
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]=...
Ale to nie działa ... czy istnieje sposób mogę korzystać z nawiasów aby uzyskać dostęp do tablicy bezpośrednio za pomocą wskaźnika klasy?
Dzięki!
Dlaczego chcesz wskaźnik? 'static risc & getInstance()' działa równie dobrze. – MSalters
Instrukcje ... – SagiLow