2011-11-22 51 views
1

假設我有從A從對象指針調用父類方法?

A所定義FOO(),並且還派生的類B,B定義FOO()

我有在接收一個B *(指針B)另一個類的方法。在那個函數中,我可以調用A :: foo(),只需使用指向B的指針接收到的函數?

回答

4

我認爲下面會做你想要什麼:

void fun(B* b){ 
    b->A::foo(); 
} 
+0

只要'A :: foo'對'void fun(B *)'是可見的。和'B'從'A'公開派生。 –

0

或者,當然了,你可以用類型轉換做到這一點:與安全檢查

((A*)b)->foo(); 

或C++風格:

dynamic_cast<A*>(b)->foo();