怎么理解虚函数是在run time时选择的?这里的run time怎么理解?
Class A {
public:
virtual void print(){...}
};
Class B : public A {
public:
void print(){...}
};
int main()
{
B b;
A* pa=&b;
pa->print();
}
当程序编译链接(compile time)后,根据虚函数的原则,main函数中不是已经注定要执行B::print()函数了吗?
run time是什么意思呢?不就是执行main函数的代码吗?
我所不理解的地方在哪?