C++ learning path
青少年 C++ 编程课程
适合希望系统学习编程的海外华人和国内学生。从变量、内存和面向对象出发,逐步进入命令行交互、STL、基础算法、数据结构与综合项目。
Learning roadmap
一条从“看懂地址”到“独立完成项目”的学习路线。
C++ 的难点不在记语法,而在理解数据、控制流程、对象关系和算法选择。整套课程用 20 课从内存与对象基础,逐步走到可保存数据的命令行综合项目。
第 1 课变量、地址、*p、&x
第 2 课函数、数组、new/delete
第 3 课野指针、内存泄漏、智能指针
第 4 课class、object、封装、构造函数
第 5-7 课继承、组合、多态、OOP 项目实战
第 8-14 课命令行交互、函数、STL、排序与查找
第 15-20 课数据结构、递归、文件读写与结课项目
All C++ lessons
二十节 C++ 课,从地址走到独立项目。
02
Intermediate
C++ 指针中级课程
从“保存地址”进入真正应用:函数传参、交换变量、指针与数组、动态内存、nullptr 和二级指针。
- 指针传参和 swap
- 数组首地址与指针运算
- new/delete 与动态数组
03
Advanced
C++ 指针高级教程
进入现代 C++ 实战:避免野指针、内存泄漏和返回无效地址,学习引用、函数指针、智能指针与 RAII。
- 内存风险与安全写法
- unique_ptr / shared_ptr / weak_ptr
- 对象指针与现代最佳实践
04
OOP
C++ 类与对象入门
承接对象指针,学习 class、对象实例、private/public 封装、构造函数、this 指针和学生成绩册小项目。
- 类是蓝图,对象是作品
- 封装、构造函数和 this 指针
- vector<Student> 小项目练习
05
Inheritance
C++ 继承与组合
从 Person、Student、Teacher 开始,理解父类、子类、protected、构造顺序,以及 is-a / has-a。
- base class 与 derived class
- protected 与父类构造函数
- 继承和组合的建模判断
06
Polymorphism
C++ 多态与虚函数
用 virtual、override、父类指针和抽象类,让同一段代码根据真实对象运行不同方法。
- virtual / override
- 抽象类、纯虚函数和虚析构
- vector<unique_ptr<Shape>>
07
Project
C++ 面向对象项目实战
把封装、继承、多态、智能指针和文件拆分组合成一个小型 RPG 战斗系统,练习从类图到代码。
- Character / Player / Monster
- .h / .cpp 文件拆分
- 战斗循环、测试和重构
08-20
Algorithms & Data Structures
C++ 命令行程序、算法与数据结构
从安全输入、判断、循环和函数开始,学习字符串、STL 容器、排序查找、栈、队列、映射、链表、递归和文件读写。
- 每课包含课堂案例、算法训练和课后作业
- 掌握常用容器与基础时间复杂度
- 完成可保存数据的命令行结课项目
What you will build
学完之后,要能独立设计、实现和测试 C++ 命令行程序。
- 建模类与对象
class Student - 交互命令行菜单
getline(cin, cmd) - 处理STL 容器
vector / map - 选择基础算法
sort / search - 完成综合项目
save / load / test
Start here
建议从第 1 课开始,按顺序完成二十节课。
int* p = &x;
void swap(int* a,int* b)
auto p = make_unique<Person>();
class Student { ... };
virtual void draw()