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.子类的对象可以初始化父类的引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值