C++ 面向对象编程入门
📚 共计 30 章节
01
C++与面向对象概述
发展史 · C与C++关系 · 四大特性 · Hello World · namespace
封装
继承
多态
02
类与对象基础
定义/实例化 · 访问修饰符 · 成员变量/函数 · 构造/析构 · this
class
public
private
03
封装与数据隐藏
封装意义 · setter/getter · 友元 · 静态成员 · const成员函数
友元
static
const
04
继承与派生
继承语法 · 单/多继承 · 构造/析构顺序 · 虚继承 · 访问控制
派生
虚继承
菱形
05
多态与虚函数
虚函数表 · 纯虚函数 · 抽象类 · 虚析构 · RTTI
vtable
override
dynamic_cast
06
运算符重载
规则与语法 · 一元/二元重载 · 输入输出 · 类型转换
operator
<<
类型转换
07
模板编程
函数模板 · 类模板 · 特化/偏特化 · 参数推导 · 模板与继承
template
泛型
特化
08
标准模板库 (STL) 入门
六大组件 · vector/list/map · 迭代器 · sort/find · 仿函数
容器
算法
迭代器
09
动态内存管理
new/delete · 智能指针 · 内存泄漏 · RAII原则
unique_ptr
shared_ptr
RAII
10
异常处理
try/catch/throw · 异常安全 · 标准异常 · noexcept
异常
安全保证
noexcept
11
文件输入输出
fstream · 文本/二进制 · 文件状态 · 随机访问
ofstream
ifstream
读写
12
字符串处理
C风格与string · 常用操作 · stringstream · 正则入门
std::string
regex
流
13
类型转换
隐式/显式转换 · static/dynamic/reinterpret/const_cast · C风格弊端
static_cast
dynamic_cast
安全
14
拷贝控制
拷贝构造/赋值 · 移动构造/赋值 · Rule of Five
拷贝
移动语义
五法则
15
Lambda表达式与函数对象
Lambda语法 · 捕获列表 · 仿函数 · std::function/bind · 回调
lambda
function
bind
16
C++11/14/17新特性
auto · 范围for · nullptr · override/final · 右值引用
auto
移动语义
右值
17
C++20新特性简介
concepts · ranges · 协程 · modules · 三向比较
concepts
ranges
<=>
18
设计模式 (创建型)
单例 · 工厂 · 建造者 · 原型 · C++实现要点
单例
工厂
建造者
19
设计模式 (结构型)
适配器 · 装饰器 · 代理 · 组合 · 桥接
适配器
装饰器
代理
20
设计模式 (行为型)
观察者 · 策略 · 命令 · 迭代器 · 状态
观察者
策略
命令
21
多线程编程基础
std::thread · mutex · 条件变量 · atomic
线程
互斥
条件变量
22
并发编程进阶
线程池 · shared_mutex · future/promise · async · 无锁
线程池
future
无锁
23
网络编程基础
Socket · TCP/UDP · 非阻塞I/O · select/poll/epoll
Socket
TCP
epoll
24
数据结构与算法实现
链表 · 栈/队列 · 二叉树 · 快排/归并 · 自定义STL
链表
排序
二叉树
25
内存模型与性能优化
内存布局 · 栈/堆 · 缓存友好 · inline/constexpr · 性能分析
内存
优化
constexpr
26
测试与调试
Google Test · 静态断言 · GDB · Valgrind · 覆盖率
GTest
GDB
Valgrind
27
大型项目组织
头文件/源文件 · 前置声明 · Pimpl · 模块化 · CMake
CMake
Pimpl
模块
28
C++与C混合编程
extern "C" · ABI兼容 · 注意事项 · 封装C库
extern "C"
ABI
混合
29
图形界面编程入门
Qt框架 · 信号与槽 · 控件 · 事件 · 计算器
Qt
信号槽
GUI
30
综合项目实战
图书管理系统 · 类/继承/多态 · 文件I/O · STL · 设计模式
项目
图书管理
综合