| 主题 |
课程安排 |
C++面向对象编程基础与核心技术 |
C++面向对象
编程基础
|
1. C++面向对象核心概念:类与对象、封装、继承、多态
2. 类的设计:属性约束、操作约束、成员访问控制
3. 构造/析构函数、拷贝构造、赋值操作
4. 引用与指针的合理使用
5. 命名空间管理
6. 案例实践:设计Student/Course类体系,建立基础数据模型 |
继承、多态与
类之间的关系
|
1. 继承体系设计:子类构造过程、可见性控制
2. 多态原理与虚函数机制
3. 接口继承与实现继承
4. 聚合与组合的区别及应用场景
5. 多重继承与名称冲突解决
6. 案例实践:设计Shape抽象类,Circle/Rectangle/Triangle继承体系,实现多态绘图 |
内存管理与
智能指针
|
1. C++内存模型:栈、堆、静态区
2. new/delete与动态内存分配陷阱
3. 内存泄漏的检测与防范
4. 智能指针:unique_ptr / shared_ptr / weak_ptr
5. 引用计数与对象生命周期管理
6. 案例实践:用智能指针实现缓存池,避免裸指针内存泄漏 |
字符串、IO流
与异常处理
|
1. std::string内部结构与常用操作
2. IO流体系:文件读写、流缓冲、格式化输出
3. 字符串流的应用
4. 异常处理机制:throw/catch/标准异常
5. 自定义异常类设计
6. 案例实践:开发支持多级别、多目标输出的日志模块 |
高级编程特性、并发开发与程序调优 |
泛型编程与
模板技术
|
1. 函数模板与类模板原理
2. 模板参数与模板特化
3. STL容器、迭代器与算法的合理选择
4. 模板元编程初步
5. 案例实践:设计泛型环形队列容器,支持多种数据类型的任务调度 |
并发与多线程
编程
|
1. 何时使用多线程:场景判断与设计原则
2. 线程的创建与生命周期管理
3. 线程参数传递
4. 同步机制:mutex / condition_variable / atomic
5. 共享资源管理与死锁预防
6. 案例实践:实现多线程文件下载器,协调线程间数据传递与进度汇总 |
调试技术与
错误处理
|
1. 常见C++错误类型与诊断方法
2. 宏与跟踪文件的使用技巧
3. 内存泄漏检测工具(Valgrind / AddressSanitizer)
4. 运行时类型识别(RTTI)与动态转型
5. 信号处理机制与崩溃现场分析
6. 案例实践:基于实际崩溃案例,综合运用调试工具定位并修复问题 |
程序调优与
工程实践
|
1. 性能分析方法:gprof / perf / Instruments
2. 对象拷贝优化:移动语义与右值引用(C++11)
3. 编译期优化技巧(内联、constexpr、预编译)
4. 内存局部性与缓存友好的数据结构
5. 代码架构调优:依赖解耦与接口隔离
6. 案例实践:对图像处理模块进行性能剖析并完成多轮优化,量化对比结果 |