我不是100%確定將在我當前的設置中發生的結果。繼承和虛擬成員函數
這可能是一個愚蠢的問題,但我看不到類似的例子。
下面是示例代碼
Class A {
public:
virtual Steer* getSomeParticularInfo(){ return m_steer; }
private:
Steer* m_steer:
}
Class B: A {
public:
virtual Steer* getSomeParticularInfo(){ return m_steer; }
private:
Steer* m_steer:
}
Class C: B {
public:
//Does not have its own getSomeParticularInfo() member function
private:
Steer* m_steer:
}
我的問題:
如果我打電話getSomeParticularInfo。它會來自B類,因爲它是最近的派生類,還是來自基類?
//Inside Class C constructor
C::C(){
m_steer = getSomeParticularInfo();
}
它將來自類'B'。 – dasblinkenlight 2012-01-03 17:18:15
但是讓我告訴你,[這個代碼味道](http://en.wikipedia.org/wiki/Code_smell)。 – 2012-01-03 17:22:16