C++ 继承

1.概念

继承机制是面向对象程序设计使代码可以复用的最重要的手段,它应许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。

2.继承的作用: 实现代码的复用、实现多态。

3.继承的方式:public继承、pretected继承方式、private继承方式。

4.同名隐藏

        4.1概念:如果子类和基类存在同名称的成员,当使用派生类对象调用

该相同名称的成员时,优先调用子类的,派生类的无法直接被调用,相当与子类将基类中同名的成员屏蔽了。

        4.2特性:

基类和子类属于不同的作用域

如果想要通过子类对象调用相同名称的基类成员,必须在该成员前加基类名称及类作用限定符

成员变量的隐藏只与成员变量是否相同有关,与成员变量类型时是否相同无关

成员函数的隐藏只与函数名有关,与函数的返回值参数列表等无关

5.赋值兼容转换规则

子类对象可以直接赋值给基类对象,反过来就不行

基类对象的指针和引用可以直接指向子类对象,反过来不行(不过可以强制类型转换,但是不安全,所以不建议)

6.派生类对象的构造和析构函数

        6.1派生类对象的构造函数

构造那个类的对象,编译器就会调用该类的构造函数

构造函数调用过程:调用派生类构造函数()-->然后在派生类构造函数初始化列表的位置调用基类构造函数,完成基类那一部分成员的初始化工作,最后在执行派生类构造函数函数体

函数体的执行顺序:先执行基类,在执行派生类。

        6.2派生类对象的析构函数

析构那个类的对象,编译器就会调用该类的析构函数

析构函数调用过程:先调用派生类的析构函数,完成在派生类独有的资源的清理,然后编译器在派生类析构函数最后一条语句之后插入了call基类构造函数的汇编指令,即派生类函数的最后一条有效语句执行完后,才会执行基类的析构函数,完成基类中资源的清理

函数体的执行过程: 先执行派生类析构函数函数体,在执行析构函数函数体

        

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值