20190709总复习4
作者:互联网
重载:
1、相同的范围(同一个类中)
2、函数名字相同
3、参数不同
4、virtual关键字可有可无
覆盖是指派生类函数覆盖基类函数:
1、不同的范围,派生类与基类中
2、函数名字相同
3、参数相同
4、基类函数必须有virtual关键字
隐藏是指派生类的函数屏蔽了与其同名的基类函数
1、如果派生类的函数与基类的函数同名,但是参数不同,此时,无论有无virtual关键字,基类的函数将被隐藏
2、如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字,此时,基类的函数被隐藏
C++面向对象 抽象 继承 封装 多态
继承的作用:浅显是代码复用,重点是实现多态
继承从两个角度分析:
1、从对象的角度分析
对象只能访问自己的公有成员,访问不了私有和保护方法
2、从子类角度分析
公有继承:
子类除了父类的构造函数以及析构函数不能继承,其他均可继承
父类保护的方法在子类中可以直接访问
私有方法无论什么继承均不可访问
保护继承:
子类能访问父类的公有方法和保护方法
私有继承:
子类不能访问父类的私有方法
私有继承在第三个继承中无法被访问;
公有继承:
继承父类,先构造父类公有,再构造私有,最后再构造子类本身
如果有虚基类,则先构造虚基类
虚基类是为了解决钻石继承的问题,对于所有继承父类的子类,关于父类的方法,只有一个空间。
例如:父类B中有x,A1继承B,A2继承B,最后C继承A1,A2,则x只有一个空间。
纯虚函数是抽象函数。
子类继承父类,并且拥有同一个名字方法,子类实例化对象后,调用这一方法,则先调用自己(子类)的方法。
赋值兼容规则:
1.b = d;子类对象直接赋给父类
2.父类的指针可以直接接收子类的地址
3.子类的对象可以初始化父类的引用
标签:复习,继承,子类,派生类,20190709,基类,父类,函数 来源: https://blog.csdn.net/weixin_43393776/article/details/95234395