16. 类
### 类基础概述 1. **自定义类型**:类是用户自定义的类型,由数据成员和成员函数组成。 2. **成员访问**:使用 `.` 访问对象成员,使用 `->` 访问指针成员。 3. **运算符重载**:可以为类定义运算符。 4. **名字空间**:类是一个包含其成员的名字空间。 5. **访问控制**:`public` 成员提供接口,`private` 成员提供实现细节。 6. **结构体与类**:`struct` 默认成员为 `public`,`class` 默认成员为 `private`。 ### 默认拷贝 - 默认情况下,类对象可以通过拷贝初始化。 - 拷贝是通过逐个成员进行的。 ### class 和 struct - `struct` 默认成员为 `public`。 - `class` 默认成员为 `private`。 - 推荐将数据成员放在类的最后,以强调公共接口。 ### 构造函数 - 构造函数用于初始化对象。 - 可以提供默认参数。 - `explicit` 关键字防止隐式转换。 ### 类内初始化器 - 允许在成员声明时直接初始化成员变量,减少重复代码。 ### 可变性 - **常量成员函数**:使用 `const` 修饰成员函数,表示该函数不会修改对象状态。