2013-10-01 59 views
0

我是C++的新手,很困惑以下code。評論表明我認爲每條線的作用。我在哪裏可以找到在此代碼中調用的「Enter」函數?

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 

基於以上我認爲國家有所謂的「輸入」(因爲最後的三條線調用類型的方法輸入()型國家的目標上的方法。但是,如果我搜索對於國家文件(該鏈接以上)的輸入法,我沒有看到這種方法。我缺少什麼?我在哪裏可以找到Enter功能?

+0

檢查Enter.h的states.h。檢查所有文件。 –

+0

如何聲明'current'? 「國家*當前」? – cpp

回答

2

它在states.h定義爲

virtual void Enter() {} 

換句話說,它是虛擬的方法,通常什麼都不做s由State派生的某些類重新定義。

+0

它是虛擬的,但它不是純虛擬的。它不需要在任何地方定義 - 它在'State'(空身)中定義。 – Angew

+0

快速'grep -r':: Enter''將顯示其他定義。 – goji

+0

這正是我所說的 - 默認情況下它什麼都不做,但可以通過衍生類 – mvp

相關問題