0

私は C++ を初めて使用し、次のコードに混乱しています。コメントは、各行が何をしていると思うかを示しています。

void State::Manager::Run(State& entranceState) {  //pass a variable of type State by reference
    current = &entranceState;  //get the address of entrance state and store it in current
    current->Enter();   //call the enter method of the object that current points to

上記に基づいて、State には「Enter」というメソッドがあると思います (3 行の最後の行は、State 型のオブジェクトに対して Enter() 型のメソッドを呼び出しているためです。しかし、State のファイルを検索すると (リンクEnter メソッドについては、このメソッドが表示されません。何が欠けていますか? Enter 関数はどこにありますか?

4

1 に答える 1

2

states.hで次のように定義されています。

virtual void Enter() {}

つまり、これは仮想メソッドであり、 から派生した何らかのクラスによって再定義されない限り、通常は何もしませんState

于 2013-10-01T06:16:28.383 に答える