C++ learning path

C++ 学习

从变量和地址开始,逐步进入函数、数组、动态内存、智能指针,再深入类与对象、继承、多态和面向对象项目。每一课都用图解、流程图和完整代码把抽象概念讲清楚。

变量与地址 指针传参 数组与内存 new/delete 智能指针 面向对象项目

Learning roadmap

一条从“看懂地址”到“管理资源”的学习路线。

C++ 的难点不在记语法,而在理解数据放在哪里、谁拥有它、什么时候释放它,以及如何把数据和行为组织成对象。这组课程按七个台阶逐步推进。

第 1 课变量、地址、*p、&x
第 2 课函数、数组、new/delete
第 3 课野指针、内存泄漏、智能指针
第 4 课class、object、封装、构造函数
第 5-7 课继承、组合、多态、OOP 项目实战
C++ 数组和内存地址的可视化学习插图
课程用统一图解把变量、地址、数组和内存管理串成一条线。

All C++ lessons

七节 C++ 课,从地址走到对象项目。

C++ 指针入门课变量盒子插图
01 Beginner

C++ 指针入门课

用“盒子、地址、门牌号”的方式理解变量、地址、指针、*p&x

  • 变量与地址
  • 用指针访问和修改变量
  • 金币加倍小程序与练习题
进入第 1 课
C++ 指针中级课函数传参插图
02 Intermediate

C++ 指针中级课程

从“保存地址”进入真正应用:函数传参、交换变量、指针与数组、动态内存、nullptr 和二级指针。

  • 指针传参和 swap
  • 数组首地址与指针运算
  • new/delete 与动态数组
进入第 2 课
C++ 指针高级课 unique_ptr 插图
03 Advanced

C++ 指针高级教程

进入现代 C++ 实战:避免野指针、内存泄漏和返回无效地址,学习引用、函数指针、智能指针与 RAII。

  • 内存风险与安全写法
  • unique_ptr / shared_ptr / weak_ptr
  • 对象指针与现代最佳实践
进入第 3 课
C++ 类与对象入门课程图解
04 OOP

C++ 类与对象入门

承接对象指针,学习 class、对象实例、private/public 封装、构造函数、this 指针和学生成绩册小项目。

  • 类是蓝图,对象是作品
  • 封装、构造函数和 this 指针
  • vector<Student> 小项目练习
进入第 4 课
C++ 继承与组合课程图解
05 Inheritance

C++ 继承与组合

PersonStudentTeacher 开始,理解父类、子类、protected、构造顺序,以及 is-a / has-a。

  • base class 与 derived class
  • protected 与父类构造函数
  • 继承和组合的建模判断
进入第 5 课
C++ 多态与虚函数课程图解
06 Polymorphism

C++ 多态与虚函数

virtualoverride、父类指针和抽象类,让同一段代码根据真实对象运行不同方法。

  • virtual / override
  • 抽象类、纯虚函数和虚析构
  • vector<unique_ptr<Shape>>
进入第 6 课
C++ 面向对象项目实战课程图解
07 Project

C++ 面向对象项目实战

把封装、继承、多态、智能指针和文件拆分组合成一个小型 RPG 战斗系统,练习从类图到代码。

  • Character / Player / Monster
  • .h / .cpp 文件拆分
  • 战斗循环、测试和重构
进入第 7 课

What you will build

学完之后,要能独立判断一段 C++ 内存代码是否安全。

  1. 读懂变量和地址int* p=&x;
  2. 改写函数传参swap(&x,&y)
  3. 遍历数组内存*(p+i)
  4. 释放动态资源delete[] arr
  5. 建模类与对象class Student

Start here

建议从第 1 课开始,按顺序完成七节课。

int* p = &x; void swap(int* a,int* b) auto p = make_unique<Person>(); class Student { ... }; virtual void draw()