c++ 类继承

从一个类派生出另一个类时,原始类称为基类,继承类则称为派生类.

子类继承父类的属性和方法,而且可以自己再创建新的属性和方法.

在这里插入图片描述

继承有三种方式:
public:公有继承
private:私有继承
protected:保护继承

父类的私有属性其实被子类继承了,只是编译器给隐藏起来,我们不能访问.

构造函数

如果父类中没有默认构造函数,子类可以利用初始化列表的方式显示的调用父类的其他构造.

父类先构造,子类再构造,子类析构后,父类再析构.所以子类不会继承父类的构造和析构函数.

重名

子类中与父类重名的属性时,访问时默认是子类的该属性,如果想访问父类的属性需要指明,命名空间Base::mParam.本质上就是说,该子类继承了父类的该同名属性,该之类有两个不同命名空间而重名的属性.
同名的方法也是如此.
所以,子类和父类拥有同名函数和属性,子类不是覆盖父类的成员,而是继承下来并将其隐藏.想调用父类的方法必须加作用域

静态

静态和非静态继承方式都一样

多继承

一个子类继承多个父类.class A:public B1;public B2
多继承中,两个父类有重名的属性时,要显示的告诉调用哪个父类的属性.

菱形继承的解决

虚基类virtual
用虚基类后,用的同一份数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值