0

Main というクラスにある ListViewItemEventListener を Search という名前のクラスに追加して、同じリスナー内のクラスのイベントを処理できるようにしようとしています。しかし、どうすればこの目標を達成できるか、または可能かどうかさえわかりません。

これはもちろん機能します:

__pList->AddListViewItemEventListener(*this);

ただし、検索クラスのリスナーを使用します。私は次のようなものが欲しい:

__pList->AddListViewItemEventListener(Main ListViewItemEventListener);

誰かがこれを行う方法を知っていることを願っています。

助けてくれてありがとう!

4

1 に答える 1

1

Main と Search は互いのサブクラスではありませんね。

それが可能だ。検索で、Main のインスタンスへのポインターを保持し、それをリストのリスナーとして指定します。

これを行う場合、IListViewItemEventListener からの Main の派生は public である必要があります。

 class Main: ..., public IListViewItemEventListener 

それ以外の場合、Main 自身のメンバー関数内を除き、 aMainから a へのキャストは許可されません。IListViewItemEventListener

それから、C++ の基本について読み進めてください。クラスとオブジェクトの基本的な関係について混乱しているようです。あなたの問題について、特に悪いことは何もありません。

于 2012-07-02T20:32:54.260 に答える