类的继承与派生

本文介绍了基类与派生类的相关知识,包括继承语法形式、生成派生类的过程、重名成员处理、基类初始化等内容。还阐述了派生类构造函数和析构函数的使用原则及执行顺序。指出继承可简便程序、减少代码重复,多继承不建议使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.基类与派生类
(1)继承语法形式:

class 派生类名:基类名表

{

数据成员和成员函数声明

};

基类类名表构成:

访问控制 基类名

访问控制有三种{public:公有继承

                  private:私有继承

                  protected:保护继承 

                  }

无论哪种类型都不能直接访问基类私有成员。

2.生成派生类的过程
(1)吸收基类成员(构造和析构函数除外,不一定可见)

(2)改造基类成员(根据派生类成员函数,覆盖基类)

(3)添加派生类新成员

3.重名成员
派生类中定义与基类同名成员,屏蔽基类成员,如在派生类中使用基类同名成员,显式地使用类名限定符

形式   类名:成员

4.基类初始化

在创建派生类对象时,用指定参数调用基类的构造函数,初始化派生类继承基类的数据。

形式 派生类构造函数 ( 变元表 ) : 基类 ( 变元表 ) , 对象成员1( 变元表 )…;

构造函数顺序:基类 对象成员 派生类

基类可以定义一个无参的构造函数。

注:

派生类构造函数析构函数使用原则:

(1)基类的构造函数和析构函数不能被继承

(2)如果基类没有定义构造函数或有无参的构造函数, 派生类也可以不用定义构造函数

(3)如果基类没有无参的构造函数,派生类必须定义构造函数

(4)如果派生类的基类也是派生类,则每个派生类只负责最近的基类的构造

(5)派生类是否定义析构函数与所属的基类无关

派生类析构函数执行顺序问题

(1)当派生类中不含对象成员时

构造函数的执行顺序是 基类 派生类;

析构函数的执行顺序是 派生类→基类。

(2)当派生类中含有对象成员时

构造函数的执行顺序 基类→对象成员→派生类;
析构函数的执行顺序 派生类→对象成员→基类;

总结

继承的使用可以简便程序,可以减少代码的重复书写,使用的关键在于正确的找出2个类或者几个类之间相同的部分,找到重复的内容作为一个基类来单独定义,在别的需要用到这个功能的地方直接调用,避免多次书写。多继承不建议使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值