私はコレクションクラスを作成しています。私は角括弧の演算子([])をオーバーロードして、コレクション内の要素へのアクセスを提供したいと思います。角括弧をオーバーロードして値を受け入れる演算子
int operator[](int i)
{
// Do stuff here
}
私の問題は、私は値を受け入れるように、この演算子を使用することができるようにこれを書くためにどのように表示されていないということです。
myClassInstance[0] = value;
私はと角括弧演算子を宣言する方法がわかりませんでした追加の引数(要素に割り当てる値)。
私は単純にint &を返すことができ、呼び出し側はそれに値を割り当てることができますが、内部的に各要素は公開されたものとは異なる形式で格納されます。
これも可能ですか?
次の2つの演算子[](int型)のバージョンが必要です。あなたが頼んだconstバージョンと非constバージョンです。元のバージョンはconstオブジェクトを呼び出すためにconstの背後にconstを持つ必要があります。 –
@エドウィン:あなたの他のコメントを見ました。私はそれを行ってあげるよ。ありがとう。 –