
|
课程培训
|
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. 静态成员: · 静态变量(类共享数据)、静态函数(工具类方法)。 案例: · 构造函数初始化账号与余额。 · 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(避免循环引用)。 案例: · 使用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,达索等大型公司高级工程师,项目经理,技术支持专家 中科信软培训中心,资深专家或讲师 大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富 多年实际项目经历,大型项目实战案例,热情,乐于技术分享 针对客户实际需求,案例教学,互动式沟通,学有所获 |
|