C++ 的类是什么(新手保姆讲解,配合 Qt 对照理解)
一句话总结C 的类class就是一张「图纸」用来描述一类事物这类事物有哪些特征成员变量、能做哪些动作成员函数。根据这张图纸可以造出很多个对象实例。类比 类 房子图纸 对象 按照图纸盖出来的真实房子 一张图纸可以盖出很多套房子。1. 类的两大组成部分成员变量属性 / 特征描述这个东西有什么数据。 比如人姓名、年龄汽车颜色、速度。成员函数方法 / 行为描述这个东西能干什么。 比如人说话、走路汽车加速、刹车。访问权限新手记住 3 个public公开外面代码可以直接访问private私有只能类自己内部使用外部不能访问默认protected保护只有自己和子类能用初学暂时不用细抠2. 最简 C 类完整示例不带 Qt纯标准 C我们定义一个「人类」的类#include iostream #include string using namespace std; // 这就是【类】图纸 class Person { // 公开外部可以调用 public: // 构造函数新建对象的时候自动调用用来初始化变量 Person(string name, int age) { m_name name; m_age age; } // 成员函数行为 void sayHello() { cout 大家好我叫 m_name 今年 m_age 岁 endl; } // 私有属性外部不能直接访问 private: string m_name; // 姓名成员变量 int m_age; // 年龄成员变量 }; int main() { // 根据类图纸创建【对象】 Person p1(张三, 20); Person p2(李四, 25); // 调用对象的函数 p1.sayHello(); p2.sayHello(); return 0; }运行输出大家好我叫张三今年20岁 大家好我叫李四今年25岁逐行解释class Person定义一个名叫 Person 的类图纸Person(string name, int age)→构造函数名字必须和类名一模一样。创建对象自动执行用来给成员变量赋初始值。void sayHello()成员函数是这个类具备的行为private里面的m_name、m_age成员变量保存这个对象的数据外面不能直接读写Person p1(张三,20);创建对象 p1调用构造函数。p1 就是实例。重点区分类模板、图纸是类型不占内存对象根据类造出来的实体占用内存一个类可以创建无数对象3. 什么是继承C 原生继承Qt 大量用到继承一个类可以复用另一个类的代码在原有基础上新增功能。类比 有一张【动物图纸】然后【狗图纸】继承动物图纸自带动物的属性再增加狗独有的功能。#include iostream using namespace std; // 父类基类 class Animal { public: void eat() { cout 动物会吃东西 endl; } }; // 子类派生类公有继承Animal class Dog : public Animal { public: void bark() { cout 汪汪叫 endl; } }; int main() { Dog dog; dog.eat(); // 继承父类的函数 dog.bark(); // 自己新增的函数 return 0; }输出动物会吃东西 汪汪叫4. C 原生类 vs Qt 里继承 QObject 的类重点承接上一段内容项目普通 C 类上面 Person/Dog 例子Qt 继承 QObject 的类基础来源标准 C 原生语法底层还是 C 类只是继承了 Qt 的 QObject 类信号槽❌不支持✅支持需要写Q_OBJECT宏moc 工具处理内存管理new 创建对象必须手动 delete 释放否则内存泄漏new 时指定 parent 父对象父销毁自动释放子对象拷贝支持对象拷贝赋值Person a b;❌禁止拷贝QObject 子类不能直接复制对象元信息运行时不知道类名运行时可以查询类名、方法元对象系统一句话串联 Qt 的类本质就是 C 类只是 Qt 写了一个叫 QObject 的 C 基类我们自己写的类继承 QObject 之后就额外获得信号槽、对象树这些 Qt 独有的能力。5. 新手容易踩坑的点类只是图纸不创建对象类里面的代码不会运行。private 私有成员在 main 函数里不能直接写p1.m_namexxx编译报错只能通过类内函数访问。构造函数没有返回值名字必须和类名完全相同。C 继承 ≠ Qt 的 parent 对象父子关系C 继承类和类之间代码复用图纸继承图纸Qt parent对象实例之间的归属关系用来自动释放内存房子归属于大楼

相关新闻

手写LDA与QDA:从散度矩阵到判别函数的完整实现

手写LDA与QDA:从散度矩阵到判别函数的完整实现

1. 项目概述:为什么LDA和QDA值得花时间手写一遍?“西瓜书”第三章讲线性判别分析(LDA)和二次判别分析(QDA),很多读者翻到这儿就卡住了——不是概念看不懂,而是公式推导和代码实现之间…

2026/10/13 10:04:21 阅读更多 →
AI短剧进化实录:从一眼假到批量生产,制作成本与实操流程全解析

AI短剧进化实录:从一眼假到批量生产,制作成本与实操流程全解析

最近这几个月,我刷短视频时有一个很直观的感受:AI短剧的密度明显上来了。以前看到AI生成的角色,基本一眼就能挑出来,表情僵、背景糊、动作飘,像是廉价动画片;现在很多账号发布的AI短剧,单看画面…

2026/10/13 10:04:21 阅读更多 →
ArcGIS切片缓存接入Cesium:紧凑缓存解包实战指南

ArcGIS切片缓存接入Cesium:紧凑缓存解包实战指南

前阵子接了个三维可视化项目,甲方给了一批 ArcGIS 切片缓存数据,文件量不小,目录结构一眼就是标准切片包。但问题来了:这批数据不是 ArcGIS Server 发布的,没有 REST 服务地址,只有一摞文件夹和几个 xml 文…

2026/10/13 10:04:21 阅读更多 →

最新新闻

AI写作去除AI味:专科生降AI率实测方法与工具推荐

AI写作去除AI味:专科生降AI率实测方法与工具推荐

最近好多专科院校的朋友过来问我:AI写出来的东西,怎么看怎么像AI?作业报告交上去,自己都觉得假。2026年了,AI辅助写作已经成了日常,但“AI味”反而成了新的尴尬点——不是内容不对,是那种标准到…

2026/10/13 10:42:31 阅读更多 →
机器学习大作业高分攻略:选题、代码与实验报告全指南

机器学习大作业高分攻略:选题、代码与实验报告全指南

简介:这是一份面向高校机器学习课程期末大作业与课程设计的高分项目合集,包含多组可运行的Python源码与配套实验报告,覆盖决策树、聚类、回归、分类等常见实验题目,代码中带有详细注释,新手也能读懂并快速部署使用。压…

2026/10/13 10:42:31 阅读更多 →
Linux内核中定向路由SMP的完整处理链路解析

Linux内核中定向路由SMP的完整处理链路解析

做过几年高性能计算集群的人,对InfiniBand这个词应该都不陌生。但说实话,绝大多数人的视角是“网卡插上、子网管理器跑起来、业务通就行”,很少有人会真正去翻Linux内核里处理子网管理包的那段代码。直到有一天你遇到一个奇怪的故障&#xff…

2026/10/13 10:42:31 阅读更多 →
Windows Server 2003 老系统重装:PE启动盘制作与驱动注入指南

Windows Server 2003 老系统重装:PE启动盘制作与驱动注入指南

1. 别急着装系统,先想清楚为什么绕不开PEWindows Server 2003,这个系统放在今天已经是个老古董了,尤其是SP1之前的老版本,对现代硬件的兼容性几乎可以忽略不计。但偏偏在很多特定场景下,它还活着,而且活得挺…

2026/10/13 10:42:31 阅读更多 →
Harbor跨大版本升级实战:从1.2.2到1.5.0避坑指南

Harbor跨大版本升级实战:从1.2.2到1.5.0避坑指南

1. 项目概述:一次真实生产环境中的Harbor大版本跃迁Harbor从1.2.2升级到1.5.0,不是一次简单的补丁更新,而是一次跨越三个主版本号(1.2 → 1.3 → 1.4 → 1.5)的架构级演进。我接手这个任务时,手头维护的是某…

2026/10/13 10:42:31 阅读更多 →
数据结构三要素与链表12个基础操作:从理论到C语言实战

数据结构三要素与链表12个基础操作:从理论到C语言实战

大多数人刚开始碰数据结构时,第一个被反复折腾的对象,几乎都是链表。我见过不少同学把教材第一章的“数据结构三要素”当成概念背完就翻篇,结果一写代码就露馅——空指针崩了、插入顺序反了、改链表头传参传错了,回头才明白那些“…

2026/10/13 10:41:29 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →