【发布时间】:2012-06-19 15:30:22
【问题描述】:
我创建了一个单例类,它使用GetInstance() 方法来获取实例地址(指针)。
在类内部,我有一个 unsigned long int 数组,我为它创建了operator [](直接访问数组)。
我如何使用从GetInstance 获得的指针来使用[] operator?
我试过了:
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]=...
但它不起作用......有没有办法我可以使用括号直接使用类指针访问数组?
谢谢!
【问题讨论】:
-
为什么要指针?
static risc& getInstance()也可以。
标签: c++ class pointers operand