《随笔十二》—— C++中的 “ 纯虚函数 和 抽象类 ”

本文探讨了C++中的抽象类和纯虚函数。抽象类主要用于设计和组织继承层次结构,不能直接实例化,其纯虚函数提供了一个公共接口。纯虚函数在基类中未实现,由派生类具体实现,使得多态成为可能。如果派生类未实现所有纯虚函数,它也将成为抽象类。

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

目录

抽象类

纯虚函数



抽象类


●   抽象类:  不用于定义对象而只作为一种基本类型用做继承的类,称为抽象类, 由于它常用于做基类, 通常称为抽象基类。 

那么凡是包含纯虚函数的类都是抽象类, 抽象类是一种特殊的类, 是为了抽象和设计的目的而建立的, 处于继承层次结构的较上层。 我们在实际中为了强调一个类是抽象类, 可将该类的构造函数声明为 保护的访问控制权限, 这样我们就不能 在类外创建抽象类的对象,这样我们就可以在抽象类中的派生类中的构造函数对抽象类的成员数据做初始化。

 

●  抽象类的主要作用是将有关的类、组织在一个继承层次结构中, 由抽象类来为它们提供一个公共的接口。 相关的派生类的从这个

抽象类派生出来。抽象类刻画了一组派生类的操作接口的通用语义,这些语义也传给了派生类。  一般而言, 抽象类只描述这组派生类公共的操作接口, 而完整的实现留给派生类。  使用抽象类时应注意的问题:

 

抽象类只能用作其他类的基类, 不能创建抽象类的对象, 因为它的纯虚函数没有定义功能, 其纯虚函数的实现由派生类给出。

但是可以用 基类指针 或 引用 指向 公有(不能是私有或者 保护的)派生类对象(该派生类对象,必须是个具体类,即派生类实现了抽象类中的同名虚函数,不再是个纯虚函数, 否则的话不可以用基类指针 或 引用 指向),然后我们就可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值