c++——继承和派生

在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为基类的一个派生类(也称子类)。
派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量
和成员函数。 派生类一经定义后,可以独立使用,不依赖于基类。

:派生类拥有基类的全部成员函数与成员变量。派生类的成员函数不能访问基类的private成员变量。
在派生类的成员函数内写同名同参的基类成员变量不算是函数重载而是覆盖。
类的两种关系:继承与复合;

继承:由基类派生而来。
复合:一个类的对象成员是其他类的对象。

派生类的内存空间:
派生类对象的体积,等于基类对象的体积,再加上派生类对象自己的成员变量的体积。在派生类对象中,包含着基类对象,而且基类对象的存储位置位于派生类对象新增的成员变量之前。

基类与派生类同名的情况(一般不定义同名变量):
在派生类使用基类的成员函数:基类:成员;而派生类即可直接使用。
基类的private不能被派生类的成员函数访问。

基类的public成员函数能被派生类的成员函数,友元函数访问
基类的protected成员变量可以被基类的成员函数,基类的友元函数和派生类的成员函数访问。

在 创建 派生类的对象时,
• 需要调用基类的构造函数:初始化派生类对象中从基类继承的成员
• 在执行一个派生类的构造函数之前,总是先执行基类的构造函数

派生类的构造函数:在构造函数的参数列表可以加上基类的构造函数

创建 派生类的对象 时, 执行 派生类的构造函数 之前:
• 调用基类的构造函数初始化派生类对象中从基类继承的成员
• 调用成员对象类 的构造函数,初始化派生类对象中成员对象执行完派生类的析构函数后:
• 调用成员对象类的析构函数
• 调用基类的析构函数

析构函数的调用顺序与构造函数的调用顺序相反

public的继承规则:
派生类对象可以赋值给基类对象。
派生类对象可以作为初始化基类对象的引用。
派生类对象的地址可以赋值给基类对象的指针。

直接基类与间接基类
声明派生类时,只需声明直接基类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值