<分区>
以下代码是后期绑定(bind) test() 方法,但它不应该提前绑定(bind)吗?因为 test() 方法在 B 类中不是虚拟的(但在 A 类中),我们使用的是 B 类的指针。
class A{
public:
virtual void test(){
cout<<"test a";
}
};
class B : public A{
public:
void test(){
cout<<"Test b";
}
};
class C: public B{
public:
void test(){
cout<<"test c";
}
};
int main(){
B *bp;
C objc;
bp = &objc;
bp->test(); // test c
}