当前位置: 首页 > article >正文

【QT】-一文读懂抽象类

抽象类(Abstract Class)是面向对象编程中的一个概念,指的是无法被实例化的类,它通常作为其他类的基类。抽象类的作用是定义一个接口(或约定),让派生类(继承自抽象类的类)来实现具体的功能。

抽象类的特点:
包含纯虚函数(Pure Virtual Function): 抽象类通常包含一个或多个纯虚函数,这些函数在抽象类中没有实现,必须由派生类来实现。纯虚函数的声明方式是:在函数声明的末尾加上 = 0。

例如:

cpp

class Shape {
public:
// 纯虚函数
virtual void draw() = 0;
};
在上面的代码中,Shape 是一个抽象类,包含一个纯虚函数 draw()。因为 draw() 是纯虚函数,所以 Shape 类不能直接实例化。

无法实例化: 由于包含纯虚函数,抽象类不能直接被实例化。也就是说,无法创建一个抽象类的对象。你只能通过创建其派生类的对象来使用它。

cpp

Shape shape; // 错误:无法实例化抽象类
可以包含已实现的函数: 抽象类不仅可以包含纯虚函数,还可以包含已经实现的普通函数。派生类可以选择是否重写这些普通函数。

class Shape {
public:
virtual void draw() = 0; // 纯虚函数

// 已实现的函数
void move() {
    std::cout << "Moving the shape" << std::endl;
}

http://www.kler.cn/a/587299.html

相关文章:

  • golang从入门到做牛马:第二十一篇-Go语言错误处理:优雅的“故障排除”
  • Vuex 高级技巧与最佳实践
  • JavaScript泄露浏览器插件信息引发的安全漏洞及防护措施
  • Vuex 基础概念与环境搭建
  • Unity开发中对象池设计与使用
  • c语言整理
  • 高德地图猎鹰服务调用指南(Java后端)
  • 【统计学相关笔记】抽样基本定理的证明
  • SpringBoot——Maven篇
  • 掌握这些 UI 交互设计原则,提升产品易用性
  • JConsole:JDK性能监控利器之JConsole的使用说明与案例实践
  • Linux 中的管道:进程间数据传输的利器
  • Cursor 终极使用指南:从零开始走向AI编程
  • 平安养老险深圳分公司积极开展2025年“3·15”金融消费者权益保护教育宣传活动
  • 如何在androidstudio开发环境中查看sqlite数据库(按新版本Android Studio Giraffe提供详细步骤和操作说明,附截图,代码)
  • 极简版:阿里云 ECS 搭建 WordPress
  • Cocos Creator Shader入门实战(四):预处理宏定义和Chunk
  • Docker 》》Docker Compose 》》network 网络 compose
  • 前端UI编程基础知识:基础三要素(结构→表现→行为)
  • 【设计模式】探索状态模式在现代软件开发中的应用