ポインタの標準演算子として配列のopperator( - >)をオーバーロードして、コンソールにsomethinkを表示する必要があります。ネストされた呼び出しの配列演算子( - >)オーバーロード
そして、私がやった...
Gamer.hファイル(ネストされたCollecionクラスとゲーマークラス):
class Gamer {
class Collection
{
public:
Collection();
Collection* operator->();
}
public:
Gamer();
Collection *deck;
}
Gamer.cpp
...
Gamer::Collection* Gamer::Collection::operator->()
{
cout << "Pointer on deck >> " << this << endl;
return this;
}
...
main.cppに - ここで私はゲーマーオブジェクトの宣言とのallocメモリ(ポインタなど)内のコレクションフィールドを持っている人
Gamer *gamer;
Gamer::allocGamer(gamer);
私はオーバーロードされた配列を使用したいopperand私が行うことはできません。
gamer->deck->();
しかし、私は次のことができます。
gamer->deck->operator->();
私はちょうどをgamer->デッキ呼び出すカントなぜ質問です - >();とゲーマー - >デッキ - >演算子 - >();を呼び出す必要があります。代わりに?
2番目の質問 - オーバーロードされたopperandに直接アクセスするには、矢印opperをオーバーロードする必要があります。gamer-> deck->();?
私はゲッターを作ることができることを知っていますが、私はそれを矢印のopperatorをスローする必要があります。それも可能ですか? –
@PatrykJanikごめんなさいあなたに何を求めているのかわからない –
私の投稿を編集できません。投げるのではなく、でなければなりません。 私はどのようにゲーマー - >デッキ - >演算子 - >()を変換する必要があるかわかりません。ゲーマー - >デッキ - >();オーバーロードされた関数を呼び出す。 –