मैंने एक सिंगलटन क्लास बनाया है जो उदाहरण पता (सूचक) प्राप्त करने के लिए GetInstance()
विधि का उपयोग करता है। कक्षा के अंदर मेरे पास बिना हस्ताक्षरित लंबी int की एक सरणी है जिसे मैंने operator []
बनाया है (सरणी तक सीधी पहुंच)। [] operator
का उपयोग करने के लिए मुझे 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]=...
लेकिन यह काम नहीं करता है ... वहाँ एक रास्ता मैं सीधे सरणी तक पहुँचने के लिए वर्ग सूचक का उपयोग कर कोष्ठक का उपयोग कर सकते है?
धन्यवाद!
आप एक सूचक क्यों चाहते हैं? 'स्थिर रिस्क और getInstance() 'बस काम करता है। – MSalters
निर्देश ... – SagiLow