C++中虚函数的问题
请先看下例子,
class A{
public:
virtual void f(){cout<<"A"<<endl;}
};
class B:public A()
{void f(){cout<<"B"<<endl;}
};
void main(){
A *pa; B b;
pa=b;
pa->f();
}
为什么想调用B类的方法f()时都是通过基类指针pa来调用,为什么不直接用b.f()直接调用呢,这样将子类对象地址赋给基类指针,再通过基类指针调用子类的方法不是舍近求远吗?