C++培训课程体系(选修)
课程目录
-
专题一:C++基础入门与开发环境
-
专题二:C++核心语法与程序设计
-
专题三:函数进阶与程序组织
-
专题四:面向对象编程(类与对象)
-
专题五:数据的共享与保护
-
专题六:数组、指针与动态内存管理
-
专题七:继承与派生
-
专题八:多态性与虚函数
-
专题九:运算符重载
-
专题十:模板编程与泛型
-
专题十一:C++标准模板库(STL)
-
专题十二:C++输入输出流与文件操作
-
专题十三:异常处理与程序健壮性
-
专题十四:C++11/14/17/20新特性
-
专题十五:智能指针与内存管理
-
专题十六:并发编程与多线程
-
专题十七:设计模式与工程实践
-
专题十八:Qt框架与GUI应用开发
-
专题十九:网络编程基础
-
专题二十:C++项目实战与代码优化
专题一:C++基础入门与开发环境
专题二:C++核心语法与程序设计
专题三:函数进阶与程序组织
-
培训对象:需要掌握模块化编程思想的开发人员。
-
培训目标:
-
掌握函数的定义、声明、调用方法,理解参数传递机制(值传递、引用传递、指针传递)。
-
学习函数重载、内联函数、默认参数等高级特性。
-
理解递归函数的原理与应用,掌握函数在程序组织中的作用。
-
培训内容介绍:
-
函数定义与调用:学习函数的定义语法(返回类型、函数名、参数列表、函数体),掌握函数的调用方式。
-
函数原型:理解函数声明(原型)的作用,掌握在调用前声明函数的方法。
-
参数传递:掌握值传递(副本传递)、引用传递(别名传递)、指针传递的区别与适用场景。
-
返回值:学习return语句的使用,掌握返回值的类型匹配,了解返回引用和返回指针的特殊性。
-
函数重载:理解函数重载的概念(同名函数不同参数),掌握重载的规则(参数类型、个数、顺序),了解编译器如何区分重载函数。
-
默认参数:学习带默认参数值的函数定义,掌握默认参数的规则(从右向左连续设置)。
-
内联函数:理解内联函数的作用(减少函数调用开销),学习inline关键字的用法,了解内联函数的适用场景和限制。
-
递归函数:理解递归的概念(函数调用自身),学习递归函数的编写方法,掌握递归的终止条件,了解递归的优缺点。
-
变量的作用域:学习局部变量、全局变量的作用域和生命周期,理解同名变量的遮蔽规则。
-
变量的存储类别:了解auto、register、static、extern关键字的作用,掌握静态局部变量的特性。
-
编译预处理:学习文件包含(#include)、宏定义(#define)、条件编译(#ifdef、#ifndef、#endif)的使用。
-
多文件组织:学习将程序划分为多个源文件和头文件的方法,理解头文件的作用和防止重复包含的技巧。
专题四:面向对象编程(类与对象)
专题五:数据的共享与保护
专题六:数组、指针与动态内存管理
专题七:继承与派生
专题八:多态性与虚函数
专题九:运算符重载
专题十:模板编程与泛型
专题十一:C++标准模板库(STL)
专题十二:C++输入输出流与文件操作
专题十三:异常处理与程序健壮性
-
培训对象:需要编写健壮、可靠代码的开发人员。
-
培训目标:
-
理解异常处理的概念与意义(分离错误处理与正常逻辑),掌握C++异常处理机制。
-
掌握try、throw、catch的使用方法,学习多种异常类型的处理。
-
学习异常安全代码的编写方法,理解异常与资源管理的关系。
-
培训内容介绍:
-
异常处理概述:了解传统错误处理方式(返回值、错误码)的局限性,认识异常处理的优势。
-
异常处理语法:掌握try块(监视代码)、throw表达式(抛出异常)、catch块(捕获异常)的基本语法。
-
异常类型:学习可以抛出任何类型的异常(基本类型、类类型),掌握自定义异常类的设计。
-
多重catch:掌握多个catch块的使用,理解异常匹配顺序(从上到下,选择第一个匹配的类型)。
-
捕获所有异常:学习catch(...)捕获所有异常,了解其在资源清理中的应用。
-
异常传播:理解函数调用栈展开(stack unwinding)的过程,学习异常在函数调用链中的传播机制。
-
未捕获异常:了解未捕获异常导致程序终止的行为,学习使用set_terminate设置终止处理函数。
-
异常规范:了解C++98的动态异常规范(throw()),学习C++11的noexcept说明符。
-
noexcept关键字:掌握noexcept的使用(指定函数不抛出异常),了解其在移动语义和性能优化中的作用。
-
异常安全的RAII:深入理解RAII(资源获取即初始化)在异常处理中的重要性,学习通过智能指针确保资源释放。
-
异常安全级别:了解基本保证、强保证、不抛出保证三种异常安全级别,学习编写异常安全代码。
-
构造函数中的异常:学习处理构造函数中的异常,避免对象构造不完全导致的资源泄漏。
-
析构函数与异常:理解析构函数不应抛出异常的原因,学习在析构函数中处理异常的方式。
-
标准异常类:学习标准库异常类继承体系(exception、bad_alloc、bad_cast、runtime_error、logic_error)。
专题十四:C++11/14/17/20新特性
专题十五:智能指针与内存管理
专题十六:并发编程与多线程
专题十七:设计模式与工程实践
专题十八:Qt框架与GUI应用开发
专题十九:网络编程基础
-
培训对象:需要开发网络通信功能的C++开发人员。
-
培训目标:
-
理解TCP/IP协议栈的基础知识(IP、端口、TCP/UDP协议)。
-
掌握Socket编程的基本模型,学习使用原生Socket API(Berkeley sockets)。
-
学习封装网络通信功能,实现简单的客户端/服务器程序。
-
培训内容介绍:
-
网络基础:回顾OSI七层模型和TCP/IP四层模型,理解IP地址、端口号的概念。
-
TCP协议:学习TCP协议的特点(面向连接、可靠、全双工),理解三次握手、四次挥手过程。
-
UDP协议:学习UDP协议的特点(无连接、不可靠、效率高),对比与TCP的差异。
-
Socket概述:了解Socket作为网络通信接口的概念,掌握Socket编程的基本流程。
-
地址结构:学习sockaddr_in结构的定义,掌握IP地址转换函数(inet_pton、inet_ntop)。
-
TCP客户端:学习socket()、connect()的使用,实现TCP客户端的连接和通信。
-
TCP服务器:学习socket()、bind()、listen()、accept()的使用,实现TCP服务器的监听和接受连接。
-
数据收发:学习send()和recv()函数的使用,处理数据发送和接收的边界问题。
-
阻塞与非阻塞:理解阻塞Socket和非阻塞Socket的区别,学习设置Socket为非阻塞模式。
-
多线程服务器:学习使用多线程处理多个客户端连接,实现并发服务器。
-
select模型:学习使用select监控多个Socket的状态,实现I/O多路复用。
-
epoll模型:了解epoll作为Linux高性能I/O事件通知机制,学习epoll的使用(适用于高并发场景)。
-
UDP通信:学习recvfrom()和sendto()的使用,实现UDP协议的通信。
-
广播与组播:了解广播和组播的概念,学习设置Socket支持广播和组播。
-
网络字节序:理解大端和小端字节序的区别,学习htons、htonl、ntohs、ntohl等转换函数。
-
自定义协议:学习设计简单的应用层协议,实现消息的封包和解包(处理粘包问题)。
-
Socket选项:学习使用setsockopt设置Socket选项(SO_REUSEADDR、SO_KEEPALIVE等)。
-
错误处理:学习网络编程中的常见错误处理,使用perror或strerror获取错误信息。
专题二十:C++项目实战与代码优化
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获