C++的虚函数是我学多态的时候 认识的 ,就是 用父类指针指向子类对象时, 根据指向的对象调用对应的函数而体现出的多态性。
(情况1)
上面这个代码,出来的结果是
this is a A class
this is function() of A class
所以 display() function() 调用的都是 父类的 (可子类把父类也重写了啊)
我把 function加上 virtual 修饰 后 打印结果:
(情况2)
this is a A class
this is function() of B class
那这次调用 function() 的时候,按照多态的定义 也应该有 父类指针调用子类对象(类似的操作)了?
而且 我知道 如果不加 virtual 的话 调用函数是根据 指针的类型调用的。
我本身知道 加上 virtual 就可以 满足我的需求 但是 我自己解释不通为啥?