课程培训
C++面向对象核心实战培训课程

                                      C++面向对象核心实战培训课程大纲

一、培训对象

1. C/C++基础开发者:具备C语言或基础C++语法知识,希望深入掌握面向对象编程(OOP)。

2. 系统/嵌入式工程师:需要使用C++开发高性能系统或硬件驱动,理解面向对象设计模式。

3. 游戏/图形开发者:从事Unity/Unreal引擎开发或图形渲染,需优化C++代码结构与性能。

4. 转行全栈工程师:计划从其他语言(如Java/Python)转向C++,需快速补足OOP实战能力。

二、培训目标

1. 技术能力

· 掌握C++面向对象三大特性:封装、继承、多态。

· 熟练运用构造函数、析构函数、运算符重载、智能指针等核心语法。

· 理解RAII(资源获取即初始化)原则与内存管理机制。

2. 设计能力

· 能够设计可扩展的类层次结构,避免“脆弱的基类”问题。

· 运用设计模式(如单例、工厂、观察者)解决实际场景问题。

3. 调试与优化

· 使用GDB/Valgrind调试内存泄漏与段错误。

· 通过性能分析工具(如perf)优化关键代码路径。

4. 工程实践

· 编写符合现代C++(C++11/14/17/20)规范的代码。

· 使用CMake构建跨平台项目,集成第三方库(如Boost、OpenCV)。

三、培训内容与案例说明

模块1:C++面向对象基础

内容

1. 类与对象

· 类的定义、成员变量与成员函数、访问控制(public/protected/private)。

· 构造函数(默认、参数化、拷贝)、析构函数与this指针。

2. 封装与抽象

· 通过接口隐藏实现细节(如将数据成员设为private,提供getter/setter)。

· 抽象类与纯虚函数(定义接口规范)。

3. 静态成员

· 静态变量(类共享数据)、静态函数(工具类方法)。

案例
 设计一个BankAccount类,实现:

· 构造函数初始化账号与余额。

· deposit()和withdraw()方法操作余额(封装)。

· 静态成员totalAccounts记录开户总数。

模块2:继承与多态

内容

1. 继承机制

· 单继承与多继承(菱形继承问题与虚继承)。

· 基类与派生类的构造/析构顺序。

2. 多态实现

· 虚函数与动态绑定(override关键字)。

· 纯虚函数与抽象类(强制派生类实现接口)。

3. 运算符重载

· 重载+、==等运算符,实现自定义类型运算。

案例
 开发一个图形绘制系统:

1. 抽象基类Shape定义draw()和area()纯虚函数。

2. 派生类Circle和Rectangle实现具体逻辑。

3. 通过基类指针数组调用多态方法,绘制不同形状并计算总面积。

模块3:内存管理与智能指针

内容

1. 原始指针问题

· 内存泄漏、悬垂指针、重复释放。

2. RAII原则

· 通过构造函数获取资源,析构函数释放资源(如文件句柄、锁)。

3. 智能指针

· std::unique_ptr(独占所有权)、std::shared_ptr(共享所有权)、std::weak_ptr(避免循环引用)。

案例
 实现一个动态数组类DynamicArray:

· 使用unique_ptr管理内存,避免手动delete[]。

· 重载[]运算符实现下标访问,析构时自动释放内存。

模块4:模板与泛型编程

内容

1. 函数模板

· 编写通用排序函数(如template <typename T> void sort(T arr[], int size))。

2. 类模板

· 实现通用容器(如Stack<T>支持int、string等类型)。

3. 标准模板库(STL)

· 容器(vector、map)、算法(sort、find)、迭代器。

案例
 开发一个通用日志系统:

· 使用模板函数log<T>(const T& message)支持输出任意类型日志。

· 通过ostream_iterator将日志写入文件或控制台。

模块5:设计模式与工程实践

内容

1. 创建型模式

· 单例模式(懒汉式/饿汉式,线程安全实现)。

· 工厂模式(简单工厂、工厂方法、抽象工厂)。

2. 行为型模式

· 观察者模式(事件驱动设计,如GUI按钮点击事件)。

· 策略模式(动态切换算法,如排序策略选择)。

3. CMake与跨平台构建

· 编写CMakeLists.txt管理项目依赖与编译选项。

案例
 实现一个简单的游戏角色系统:

1. 使用工厂模式创建不同角色(Warrior、Mage)。

2. 通过策略模式动态切换攻击行为(MeleeAttack、RangedAttack)。

3. 使用CMake编译项目,生成可执行文件与动态库。

模块6:调试与性能优化

内容

1. 调试工具

· GDB命令行调试(断点、单步执行、查看变量)。

· Valgrind检测内存泄漏与非法访问。

2. 性能分析

· 使用perf统计函数调用耗时。

· 优化热点代码(如减少拷贝、使用移动语义)。

案例
 优化一个图像处理程序:

1. 通过Valgrind发现Pixel类拷贝构造函数导致的内存泄漏。

2. 改用shared_ptr管理像素数据,并启用移动语义加速处理。

 




如果您想学习本课程,请预约报名
如果没找到合适的课程或有特殊培训需求,请订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请

服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。

专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获
报名表下载
联系我们 更多>>

咨询电话010-62883247

                4007991916

咨询邮箱:soft@info-soft.cn  

 

  微信咨询

随时听讲课

聚焦技术实践

订制培训 更多>>