跳至内容
模块 2

面向对象 C++

类、对象、继承、多态,以及 C++ 中面向对象编程的支柱。

开始学习8 节课

类与对象

  1. 类、结构体与封装

    理解 struct 与 class 的区别、访问说明符、封装、const 成员函数、静态成员以及现代聚合初始化。

  2. 构造函数、析构函数与零/三/五法则

    掌握 C++ 对象的完整生命周期 ── 从构造到析构 ── 并学会何时编写(或不编写)特殊成员函数。

  3. 拷贝语义:深拷贝与浅拷贝

    学习浅拷贝和深拷贝的区别,如何为拥有资源的类实现正确的拷贝操作,以及拷贝并交换惯用法。

继承与多态

  1. 继承与 Is-A 关系

    学习公有继承、构造函数链、切片问题、多重继承以及菱形继承问题 ── 以及何时适合使用继承。

  2. 虚函数、vtable 与多态

    深入运行时多态:虚分派在底层如何工作、何时使用 override 和 final、抽象类以及 RTTI。

  3. 运算符重载

    学习如何正确重载运算符 ── 成员与非成员、规范形式、流运算符、C++20 太空船运算符以及常见陷阱。

面向对象设计

  1. 静态成员、单例与 PIMPL

    探索静态成员、Meyers 单例模式、工厂模式以及用于 ABI 稳定性和编译隔离的 PIMPL 惯用法。

  2. 组合、接口与设计

    掌握组合优于继承、纯抽象接口、设计原则(ISP、DIP)、std::variant 作为继承的替代方案以及类型擦除。