(1)C++开发环境搭建与基础回顾:了解C++语言的发展历程(从C with Class到C++20/23)及其在不同领域(系统软件、游戏引擎、嵌入式、高性能计算)的核心地位。掌握主流C++开发工具(Visual Studio、CLion、VS Code)的安装配置与使用。熟悉C++与C的兼容性与扩展差异。掌握C++标准库结构、命名空间(namespace)的概念与使用、基本的输入输出(cin/cout)。回顾C语言基础语法(数据类型、运算符、流程控制)。
(2)C++对C的扩展与引用:掌握C++对C语言的功能增强。学习const关键字的进化(常量、常指针、常函数)。掌握引用(reference)的概念、本质(常量指针)及其与指针的区别。学习引用的使用场景:函数参数(传递大型对象)、函数返回值(左值返回)。掌握new/delete动态内存分配运算符与malloc/free的本质区别。了解C++11/14/17/20的新特性概览。
(3)函数重载与默认参数:理解函数重载的概念与实现原理(名字修饰)。掌握重载函数的匹配规则与注意事项。学习默认参数的设置规则及其在函数设计中的应用。掌握内联函数(inline)的作用、适用场景及其与宏定义的优劣对比。
(4)类与对象基础:理解面向对象编程的核心概念:封装、继承、多态。掌握类的定义、成员变量与成员函数的声明实现。学习对象的创建与销毁生命周期。掌握访问控制权限(public、protected、private)与数据隐藏原则。了解结构体(struct)与类(class)的区别。
(5)构造函数与析构函数:深入理解构造函数的本质及其在对象初始化中的作用。掌握默认构造函数、带参构造函数、初始化列表的用法。学习拷贝构造函数的概念、调用时机(值传递、返回对象、对象拷贝)与浅拷贝问题。掌握深拷贝的实现方法及其必要性。理解析构函数的调用时机与资源释放作用。
(6)类的进阶特性:掌握this指针的本质与使用场景。学习static静态成员变量与静态成员函数的特性与用途。了解const修饰成员函数(常函数)与mutable关键字。掌握友元函数与友元类的概念及其在打破封装限制中的应用。学习对象的动态创建与释放。
(7)运算符重载:理解运算符重载的本质及其在自定义类型中的价值。掌握运算符重载的两种形式:成员函数形式与非成员函数形式。学习常用运算符的重载(赋值运算符=、流运算符<< >>、算术运算符+ -、下标运算符[]、函数调用运算符())。实现自定义的String类或智能指针类作为综合练习。
(8)继承与派生:掌握继承的概念及其实现代码复用。学习不同继承方式(public、protected、private)对基类成员的访问控制影响。理解派生类对象的构造与析构过程(基类构造/析构的调用顺序)。掌握多继承的概念及其带来的二义性问题与解决方案(虚继承、作用域分辨)。
(9)多态性与虚函数:理解静态联编与动态联编的本质区别。掌握虚函数(virtual)的概念、作用及其实现多态的机制。深入剖析虚函数表(vtable)与虚函数指针(vptr)的结构与工作原理。学习纯虚函数与抽象类的概念及其在接口设计中的应用。掌握虚析构函数的必要性及其在基类中的作用。
(10)模板与泛型编程:理解模板的概念及其在代码复用中的价值。掌握函数模板的定义、调用与隐式实例化过程。学习类模板的定义与使用。了解模板特化与偏特化的应用场景。掌握STL(标准模板库)三大核心组件:容器、迭代器、算法。学习常用容器(vector、list、map、set)的特性和使用场景。实践使用STL算法(find、sort、transform)进行高效编程。
(11)异常处理与I/O流:掌握C++异常处理机制:try块、catch块、throw语句。学习异常安全的编程原则。了解C++标准异常类的体系。掌握C++标准I/O流库(iostream、fstream、sstream)的结构与使用。学习文件读写操作(文本文件、二进制文件)的实现方法。
(12)现代C++特性与工程化实战:掌握C++11/14的核心新特性:auto类型推导、基于范围的for循环、智能指针(unique_ptr、shared_ptr、weak_ptr)、移动语义(move、右值引用)、lambda表达式。了解C++17/20的进一步扩展。学习构建工具(CMake)的使用与工程组织。结合所学知识,完成一个综合项目(如文本查询系统、学生成绩管理系统、简易RPC框架),涵盖需求分析、类设计、代码实现、测试调优的全流程,形成规范的C++项目报告。