多态
Class a{
Public:
Virtual f();
};
Class b: public class b{
Public:
F();
};
B b.f();
A* p=new b();
P->f();
两种都是运行行动态绑定吗
[解决办法]
class A
{
public:
virtual void f()
{
}
};
class B :public A
{
public:
void f()
{
printf("%s\n","CALL");
}
};
int main()
{
B b;
b.f(); //和普通成员函数没有区别,属于静态绑定,即在编译的时候就知道要调用哪个f函数
A* p=new B();//属于动态绑定,即在运行的时候才能知道要调用哪个f函数
p->f();
return 0;
}