讨论/《C++ 面试突击》 - 什么是多态?多态如何实现?/
《C++ 面试突击》 - 什么是多态?多态如何实现?
共 6 个回复

1.如果使用虚函数,父类指针指向子类对象并调用对象方法时,使用的是子类的方法;
2.如果未使用虚函数,则是普通的重写,则父类指针指向子类对象时,使用的是父类的方法(与指针类型看齐)
3.父类指针能指向子类对象,但是子类指针不能指向父类对象

4

确实少了两个,还应该有D_fun1()和D_fun2()

1

虚函数表与类对应,继承也是一个虚函数表指针,也是一个虚函数表,表里该类所有的虚函数地址。

继承的时候虚函数表是一个还是两个呢?

重载?你是想说没被override吧,派生类虚函数表是少了两个

Derive类的后两个函数名用D_fun1()和D_fun2()不算重载了吧?派生类虚函数表里应该再多这两个新的虚函数,fun1和fun2没被重载,应该还是基类的。