GetInstance()
メソッドを使用してインスタンスアドレス(ポインタ)を取得するシングルトンクラスを作成しました。 クラスの中には、operator []
(配列への直接アクセス)を作成したunsigned long intの配列があります。 [] operator
を使用するには、私はGetInstance
から得たポインタをどのように使用できますか? 私が試した:C++は角括弧でインスタンスへのポインタを使用します
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()'も同様です。 – MSalters
手順... – SagiLow