动态联编的意义:省事
一个derived类对象,要调用一个函数,他就会在自己的类中查找函数名,如果找到了就调用自己的;
如果没找到就到基类找,调用基类的函数。(名字查找优先于类型检查,找到名字符合的就停下来,不向上一个基类的作用域继续找)。
class A
{
public:
virtual void fun() //1
{
std::cout << "this is A " << std::endl;
}
};
class B : public A
{
public:
void fun()
{
std::cout <