目录
一、类的定义
「 class 」 + 「 类名 」 + 「 { } 」
二、类的访问限定符
被 「 public 」 修饰的成员在类外可直接被访问
被 「 protected 」 和 「 private 」 修饰的成员在类外不可直接被访问
类的默认访问权限为 「 private 」
三、类的作用域
类定义了一个新的作用域,在类外定义成员,须使用作用域操作符
「 :: 」指明成员属于哪个类域
四、类的实例化
「 类名 」 + 「 对象名 」
五、类的对象存储方式
只保存成员变量,成员函数存放在公共代码段
六、类成员函数的 this 指针
「 this 指针 」类型:「 * const」
只能在成员函数内部使用
本质是成员函数的形参,对象中不存储「 this 指针 」
「 this 指针 」是成员函数第一个隐含的指针形参,无需用户传递
七、构造函数
构造函数用来初始化对象,函数名与类名相同,对象实例化时自动调用
若类中无显式定义构造函数,则编译器自动生成无参构造函数
八、析构函数
对象销毁时自动调用析构函数,清理对象中资源
析构函数名:~ + 类名
若未显式定义,则编译器自动生成
九、拷贝构造函数
在用已存在类的类型对象创建新对象时自动调用
拷贝构造函数的参数只有一个且须是类的类型对象引用
若未显式定义,编译器自动生成(浅拷贝)
十、运算符重载
返回值类型 + operator + ( )
十一、const 成员函数
用 const 修饰的成员函数
实际是修饰该成员函数隐含的 this 指针,表明该成员函数不能修改类中任何成员
返回值 + 函数名 + 形参列表 + const
十二、const 取地址操作符重载
编译器默认生成
十三、初始化列表
以「 : 」开始,「 , 」分隔,每个成员变量后跟1个放在括号中的初始值
十四、友元
友元函数可直接访问类的私有成员,声明时需加 friend 关键字