C++之继承提高

本文详细介绍了C++中的继承方式,包括public、protected和private继承,以及多继承和虚继承的概念。重点讨论了虚基类解决的钻石问题和多态性,包括虚函数和纯虚函数的使用,展示了如何在实际编程中应用这些概念。

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

阅读本篇文章之前假设您已经了解有关类继承的基础知识。具体可参考《C++之继承提高》一篇,链接在文章底部。

目录

一. 详解继承的几种方式

1.1 类别

1.1.1 public继承

1.1.2 protected继承

1.1.3 private继承

1.2 派生类的成员标识

1.2.1 表格示例

1.2.2 图示示例

1.3 类的作用域运算

1.3.1 Shadow

1.3.2 作用域运算符::

二.多继承(Multiple Inheritance)

三.三角问题与钻石问题(四角问题)

3.1三角问题

3.2 钻石问题(四角问题)

四. 虚基类与虚继承

4.1 虚继承的意义

4.2 格式参考

4.2.1 父类无初始化需要

4.2.2 父类有初始化需要

4.2.3 父类有默认参数

4.3 初始化顺序

4.4 实例(改造沙发床)

五. 多态(Polymorphism)

5.1 赋值兼容(Assign Compatible)

5.2 静多态

5.3 多态

六.虚函数与纯虚函数

6.1 虚函数在多继承中实例

6.2 纯虚函数(pure virtual function)

 


一. 详解继承的几种方式

1.1 类别

1.1.1 public继承

当类的继承方式为公有继承时,基类的公有和保护成员的访问属性在派生类中不变,而基类的私有成员不可访问。即基类的公有成员和保护成员被继承到派生类中仍作为派生类的公有成员和保护成员。派生类的其他成员可以直接访问它们。无论派生类的成员还是派生类的对象都无法访问基类的私有成员。

1.1.2 protected继承

保护继承中,基类的公有成员和私有成员都以保护成员的身份出现在派生类中,而基类的私有成员不可访问。派生类的其他成员可以直接访问从基类继承来的公有和保护成员,但是类外部通过派生类的对象无法访问它们,无论派生类的成员还是派生类的对象,都无法访问基类的私有成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘海折柳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值