c++ 继承与重载

本文详细介绍了C++中的继承概念,包括继承的三种方式:公有继承、保护继承和私有继承,以及它们对访问权限的影响。同时,讲解了继承的内存布局、构造与析构过程,以及子类如何访问父类成员和重载方法。总结了理解继承模式、权限和成员函数搜索过程的重要性。

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

继承概述

1: has-a模式: 一个对象包含另外的一个对象,那么这个叫做has-a模式,汽车有车轮对象;
2: is-a模式: 比如我们编写了一个猫的对象,后面我们要开发一个猫的特例, 波斯猫;
波斯猫 is a 猫;
3: has-a的模式我们可以通过类包含其他的类来实现;
4: is-a模式: c++有继承机制,来实现;
5: 波斯猫 is a 猫,所以编写波斯猫代码的时候,可以不用再写猫的成员和方法,直接继承。
然后再扩展自己特有的方法;
6: 继承: 子类与父类, 派生类与基类两种说法;
这里写图片描述


继承语法

1: class 子类 : 继承方式 父类 {
// 定义和扩展子类特有的方法和数据成员;
};
public公有继承:
父类私有的子类不能访问,父类protected,子类也是protected,父类public子类也是public
protected保护继承:
父类私有的子类不能访问,父类protected子与public 子类是protected;
private 私有继承:
父类私有的子类不能访问,父类protected子与public 子类是private;
默认不写继承方式,是私有继承,基类的私有类型子类也是不能访问的;

2: 继承的内存布局:
继承包含了父类的部分,并拥有了自己的部分,和包含类似;
3: 继承的子类在实例化的时候: 先构造父类实例,在构造子类实例;
4: 销毁子类实例的时候,先调用子类析构函数, 再调用父类析构函数;
5: 多继承: class 类名: 继承方式 基类1, 继承方式 基类2… {},慎用多继承;


<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值