1

イベントマネージャーについて読んでいて、基本的な仕組みを理解しているか、そう思っていました。のような状況を見てきました。

IEvent* pEvent = m_events;

while(pEvent)   {
    removeEvent(pEvent);
    pEvent->Dispatch(); // What is this?
    pEvent = pEvent->Next;
}

しかし、「pEvent->Dispatch」を行うポイントは何ですか? イベントのリスニングと何か関係があるのではないかと思いましたが、正直なところよくわかりません。

4

1 に答える 1

2

イベントの「リッスン」は、提示されたコード フラグメントが呼び出されるまでに完了しています。「リッスン」後、すべてのイベントが何らかのコンテナーに収集され、各イベントを処理する必要があります。クラスのDispatch仮想メソッドである可能性が高いIEventため、派生した各イベントは、その種類のイベントに固有のルーチンで処理できます。

class IEvent {
protected:
    virtual ~IEvent () {}
    virtual void Dispatch () = 0;
    //...
};
于 2012-08-13T05:39:58.583 に答える