我不是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