0115、安全开发篇(三):C++ 面向对象基础
返回:Ferry 学院安全开发总目录 · 网络安全学习主页
这一篇进入 C++ 面向对象基础。和前两篇相比,这里不只是“语法更多”,而是开始接触 C++ 程序真正容易在逆向里出现的东西:对象布局、构造析构、访问权限、重载、继承、多态、虚表和项目中的对象关系。
1、学习定位
C++ 面向对象这部分,复盘时要同时看三层:
| 层次 | 重点 |
|---|---|
| 语法层 | namespace、引用、类、对象、构造析构、重载、继承、多态 |
| 内存层 | 对象占用空间、成员偏移、静态成员、虚函数表、构造析构顺序 |
| 工程层 | 如何用类组织项目,如何拆分对象关系、数据存储和菜单流程 |
后续分析 C++ 程序时,很多“看起来像语法”的东西都会变成内存和调用关系问题。
2、章节目录
| 编号 | 章节 | 主要内容 | 笔记 |
|---|---|---|---|
| 0116 | 01 C++ 入门与命名空间 | C++ 特性、控制台框架、iostream、namespace、using、嵌套/匿名/别名/合并命名空间、auto 类型推断 |
0116 |
| 0117 | 02 引用与内存管理 | 指针与引用、引用参数/返回值、常量引用、数组引用、内存分区、new/delete、内存异常、智能指针 |
0117 |
| 0118 | 03 函数增强与封装入门 | 默认参数、函数重载、内联函数、函数模板、递归、回调、面向对象编程、类与结构体、对象模型 | 0118 |
| 0119 | 04 构造析构与对象特性 | 类的声明定义、访问权限、构造函数、拷贝构造、委托构造、初始化列表、析构、深浅拷贝、静态/常量成员 | 0119 |
| 0120 | 05 运算符重载、继承与多态 | 友元、运算符重载、继承权限、继承内存布局、多继承、菱形继承、多态、虚表、纯虚函数 | 0120 |
| 0121 | 06 项目:数据信息管理系统 | 菜单设计、功能分支、对象关系、数据存储、添加过滤、逻辑封装、删除数据、模板化与分类解析 | 0121 |
3、整理原则
这一篇后续整理时,不只写“怎么用”,还要尽量补“对象在内存里怎么放、函数怎么调用、构造析构什么时候发生、逆向时能看到什么痕迹”。
4、复盘重点
| 方向 | 复盘重点 |
|---|---|
| 命名空间 | 解决命名冲突,理解作用域和链接边界 |
| 引用 | 与指针对比,理解别名、参数传递和生命周期风险 |
| 内存 | new/delete、RAII、智能指针和异常安全 |
| 类对象 | 成员变量、成员函数、访问权限和对象模型 |
| 构造析构 | 对象生命周期、构造顺序、析构时机和深浅拷贝 |
| 继承多态 | 基类/派生类布局、虚函数表、虚析构和多态调用 |
| 项目 | 把对象关系、菜单流程和数据持久化组织成可维护结构 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!






