虚函数多态c++
1、如何实现虚函数?
在父类方法前加virtual
,则表示这个函数是虚函数
2、什么是多态?
前提:父类中是虚函数,子类继承并重写了这个虚函数
多态就是,我们有时候调用的是父类的虚函数,有时候调用的是子类重写的虚函数的。这样一种状态
3、如何实现多态?如何想调父类的虚函数就调父类的,子类就子类的呢?
看对象,确切的说是看,new的对象,new的对象的类型,是父类就调父类,子类就调子类
特殊情况:子类对象按照父类类型返回
1、那,这个时候,对象调用函数是这样的呢?调用的是子类的还是父类的?
(1)如果调用的是非虚函数。例如,父类中的public类型的函数,则调用的是父类的函数。
(2)如果调用的是虚函数,则调用的是子类重写的函数。因为,对于虚函数,new的是什么类型的,调用的就是什么类型的。
虚函数多态c++
1、如何实现虚函数?
在父类方法前加virtual
,则表示这个函数是虚函数
2、什么是多态?
前提:父类中是虚函数,子类继承并重写了这个虚函数
多态就是,我们有时候调用的是父类的虚函数,有时候调用的是子类重写的虚函数的。这样一种状态
3、如何实现多态?如何想调父类的虚函数就调父类的,子类就子类的呢?
看对象,确切的说是看,new的对象,new的对象的类型,是父类就调父类,子类就调子类
特殊情况:子类对象按照父类类型返回
1、那,这个时候,对象调用函数是这样的呢?调用的是子类的还是父类的?
(1)如果调用的是非虚函数。例如,父类中的public类型的函数,则调用的是父类的函数。
(2)如果调用的是虚函数,则调用的是子类重写的函数。因为,对于虚函数,new的是什么类型的,调用的就是什么类型的。
发布评论