1 类的基本概念 #
mindmap
id1[类的基本概念]
id1-1[类的定义]
id1-2[类声明语法]
id1-3[访问修饰符:public、private、protected]
id1-4[成员变量与成员函数]
id1-5[类作用域]
id1-6[对象实例化]
id1-7[对象创建方式]
id1-8[栈对象与堆对象]
id1-9[对象生命周期]
id1-10[对象内存布局]
id1-11[构造函数]
id1-12[默认构造函数]
id1-13[带参数构造函数]
id1-14[构造函数重载]
id1-15[初始化列表]
id1-16[析构函数]
id1-17[析构函数定义]
id1-18[析构函数调用时机]
id1-19[虚析构函数]
id1-20[资源释放管理]
类的定义
类声明语法
访问修饰符:public、private、protected
成员变量与成员函数
类作用域
对象实例化
对象创建方式
栈对象与堆对象
对象生命周期
对象内存布局
构造函数
默认构造函数
带参数构造函数
构造函数重载
初始化列表
析构函数
析构函数定义
析构函数调用时机
虚析构函数
资源释放管理
2 类的特性 #
封装性
数据隐藏原理
访问控制机制
接口与实现分离
封装的好处
this指针
this指针概念
this指针使用场景
this指针与成员函数
this指针与链式调用
静态成员
静态成员变量
静态成员函数
静态成员初始化
静态成员应用场景
常量成员
const成员变量
const成员函数
mutable关键字
常量对象
mindmap
id2[类的特性]
id2-1[封装性]
id2-2[数据隐藏原理]
id2-3[访问控制机制]
id2-4[接口与实现分离]
id2-5[封装的好处]
id2-6[this指针]
id2-7[this指针概念]
id2-8[this指针使用场景]
id2-9[this指针与成员函数]
id2-10[this指针与链式调用]
id2-11[静态成员]
id2-12[静态成员变量]
id2-13[静态成员函数]
id2-14[静态成员初始化]
id2-15[静态成员应用场景]
id2-16[常量成员]
id2-17[const成员变量]
id2-18[const成员函数]
id2-19[mutable关键字]
id2-20[常量对象]
3 特殊成员函数 #
mindmap
id3[特殊成员函数]
id3-1[拷贝构造函数]
id3-2[拷贝构造函数定义]
id3-3[浅拷贝与深拷贝]
id3-4[拷贝构造函数调用时机]
id3-5[默认拷贝构造函数]
id3-6[赋值运算符重载]
id3-7[赋值运算符重载语法]
id3-8[自赋值处理]
id3-9[拷贝赋值与移动赋值]
id3-10[赋值运算符链式操作]
id3-11[移动语义]
id3-12[右值引用]
id3-13[移动构造函数]
id3-14[移动赋值运算符]
id3-15[std::move函数]
id3-16[运算符重载]
id3-17[算术运算符重载]
id3-18[关系运算符重载]
id3-19[输入输出运算符重载]
id3-20[函数调用运算符重载]
拷贝构造函数
拷贝构造函数定义
浅拷贝与深拷贝
拷贝构造函数调用时机
默认拷贝构造函数
赋值运算符重载
赋值运算符重载语法
自赋值处理
拷贝赋值与移动赋值
赋值运算符链式操作
移动语义
右值引用
移动构造函数
移动赋值运算符
std::move函数
运算符重载
算术运算符重载
关系运算符重载
输入输出运算符重载
函数调用运算符重载
4 继承与多态 #
继承基础
继承语法
公有继承、保护继承、私有继承
派生类构造与析构
基类与派生类关系
多态性
虚函数机制
纯虚函数与抽象类
虚函数表
动态绑定原理
访问控制
继承中的访问权限
using声明与访问控制
友元关系与继承
多重继承访问冲突
虚继承
菱形继承问题
虚基类
虚继承内存布局
虚继承构造函数调用
mindmap
id4[继承与多态]
id4-1[继承基础]
id4-2[继承语法]
id4-3[公有继承、保护继承、私有继承]
id4-4[派生类构造与析构]
id4-5[基类与派生类关系]
id4-6[多态性]
id4-7[虚函数机制]
id4-8[纯虚函数与抽象类]
id4-9[虚函数表]
id4-10[动态绑定原理]
id4-11[访问控制]
id4-12[继承中的访问权限]
id4-13[using声明与访问控制]
id4-14[友元关系与继承]
id4-15[多重继承访问冲突]
id4-16[虚继承]
id4-17[菱形继承问题]
id4-18[虚基类]
id4-19[虚继承内存布局]
id4-20[虚继承构造函数调用]
5 友元与嵌套类 #
mindmap
id5[友元与嵌套类]
id5-1[友元函数]
id5-2[友元函数声明]
id5-3[友元函数访问权限]
id5-4[友元函数与运算符重载]
id5-5[友元函数应用场景]
id5-6[友元类]
id5-7[友元类声明]
id5-8[友元关系特性]
id5-9[友元类访问权限]
id5-10[友元类设计考虑]
id5-11[嵌套类]
id5-12[嵌套类定义]
id5-13[嵌套类访问控制]
id5-14[嵌套类与外围类关系]
id5-15[嵌套类应用实例]
id5-16[局部类]
id5-17[局部类概念]
id5-18[局部类限制]
id5-19[局部类使用场景]
id5-20[局部类与函数]
友元函数
友元函数声明
友元函数访问权限
友元函数与运算符重载
友元函数应用场景
友元类
友元类声明
友元关系特性
友元类访问权限
友元类设计考虑
嵌套类
嵌套类定义
嵌套类访问控制
嵌套类与外围类关系
嵌套类应用实例
局部类
局部类概念
局部类限制
局部类使用场景
局部类与函数
6 类模板 #
类模板基础
类模板定义
模板参数
类模板实例化
模板特化
成员函数模板
成员模板函数
模板成员函数特化
模板构造函数
模板与继承
模板友元
模板友元函数
模板友元类
友元模板特化
模板友元关系
变参模板
参数包语法
变参模板展开
变参模板继承
变参模板应用
mindmap
id6[类模板]
id6-1[类模板基础]
id6-2[类模板定义]
id6-3[模板参数]
id6-4[类模板实例化]
id6-5[模板特化]
id6-6[成员函数模板]
id6-7[成员模板函数]
id6-8[模板成员函数特化]
id6-9[模板构造函数]
id6-10[模板与继承]
id6-11[模板友元]
id6-12[模板友元函数]
id6-13[模板友元类]
id6-14[友元模板特化]
id6-15[模板友元关系]
id6-16[变参模板]
id6-17[参数包语法]
id6-18[变参模板展开]
id6-19[变参模板继承]
id6-20[变参模板应用]
7 高级特性 #
mindmap
id7[高级特性]
id7-1[显式类型转换]
id7-2[explicit关键字]
id7-3[类型转换运算符]
id7-4[自定义类型转换]
id7-5[转换序列]
id7-6[委托构造函数]
id7-7[委托构造函数语法]
id7-8[构造函数调用链]
id7-9[委托构造函数限制]
id7-10[委托构造函数应用]
id7-11[默认和删除函数]
id7-12[=default语法]
id7-13[=delete语法]
id7-14[默认函数生成规则]
id7-15[删除函数应用]
id7-16[字面量类]
id7-17[字面量运算符]
id7-18[用户定义字面量]
id7-19[字面量类限制]
id7-20[字面量类应用]
显式类型转换
explicit关键字
类型转换运算符
自定义类型转换
转换序列
委托构造函数
委托构造函数语法
构造函数调用链
委托构造函数限制
委托构造函数应用
默认和删除函数
=default语法
=delete语法
默认函数生成规则
删除函数应用
字面量类
字面量运算符
用户定义字面量
字面量类限制
字面量类应用
8 设计模式与最佳实践 #
面向对象设计原则
单一职责原则
开放封闭原则
里氏替换原则
接口隔离原则
依赖倒置原则
常用设计模式
工厂模式
单例模式
观察者模式
策略模式
适配器模式
资源管理
RAII原则
智能指针
资源获取即初始化
异常安全保证
性能优化
对象池技术
内联函数优化
缓存友好设计
内存对齐考虑
mindmap
id8[设计模式与最佳实践]
id8-1[面向对象设计原则]
id8-2[单一职责原则]
id8-3[开放封闭原则]
id8-4[里氏替换原则]
id8-5[接口隔离原则]
id8-6[依赖倒置原则]
id8-7[常用设计模式]
id8-8[工厂模式]
id8-9[单例模式]
id8-10[观察者模式]
id8-11[策略模式]
id8-12[适配器模式]
id8-13[资源管理]
id8-14[RAII原则]
id8-15[智能指针]
id8-16[资源获取即初始化]
id8-17[异常安全保证]
id8-18[性能优化]
id8-19[对象池技术]
id8-20[内联函数优化]
id8-21[缓存友好设计]
id8-22[内存对齐考虑]