12
比方说,我有以下类别:从调用基类的重载方法
class A {
public:
virtual void foo() {
bar();
}
protected:
virtual void bar() {
// Do stuff
}
}
class B : public A {
protected:
virtual void bar() {
// Do other stuff
}
}
如果我有B的实例,并调用foo的方法,这条方法将被调用?这个编译器是特定的吗?
感谢
请注意,在基础构造函数和析构函数中不是这种情况。在那里它会调用基础实现。讨论:http://www.cplusplus.com/forum/general/109477/ –