c++学习笔记:继承

3月24日

一、继承

1、继承的好处:减少重复代码

2、语法:class 子类:继承方式 父类{ };

3、子类也称为派生类,父类也称为基类。

4、派生类中的成员包含两大部分:

1)从基类中继承过来的  (共性)

2)自己类增加的成员  (个性)

6、继承方式:public、protected、private

1)公共继承:

父类中的私有成员不可访问继承,其余部分均可继承,且访问权限不变,父类中为public就为public,为protected就为protected;

2)保护继承

父类中的私有成员不可访问继承,其余部分均可继承,且访问权限全部变为protected;

3)私有继承

父类中的私有成员不可访问继承,其余部分均可继承,且访问权限全部变为private;

7、继承中的对象模型

1)对像模型所占用的大小

2)可以利用vs开发人员命令提示工具查看对象模型

8、继承中构造和析构的顺序

9、继承同名成员处理方式

如果子类父类出现同名成员,如何通过子类对象访问到子类或父类的同名数据呢?

访问子类同名成员,直接访问即可;

访问父类同名成员,需要加作用域。

10、继承中同名静态成员处理方式

与其他同名处理方式基本一致、

11、多继承语法

c++允许一个类继承多个类

语法: class 子类:继承方式 父类1,继承方式 父类2…

多继承可能引发父类中有同名成员出现,需要加作用域区分

12、菱形继承

两个派生类继承同一基类,又有某个类同时继承这两个派生类,这种继承被称为菱形继承,或者钻石继承。

用开发者工具看该类:

vbptr:虚基类指针 :v-virtual,b-base,ptr-pointer

其指向一个vbtable :虚基类表

虚继承时,子类拿到的只是一个指针而已,(即只继承了一个指针,指针通过偏移量可以找到那份数据)真正的数据只有一份。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值