静态成员变量
- static成员变量属于类,不属于某个具体对象,即使创建多个对象,也只为static分配一份内存
- static成员变量必须在类声明的外部初始化
- static在类的外面初始化时分配内存,即没有在类外初始化的static成员变量不能使用
- 一个类中可以有一个或多个静态成员变量,所有对象都共享这些静态成员变量
静态成员函数
this指针
- 隐藏于普通成员函数中,代表当前操作的对象
- 类的静态成员函数没有指向当前对象的指针,因此静态成员函数只能访问静态成员变量,不能使用对象内部成员
const修饰成员函数
友元函数
- 友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。
- 通过友元,一个外部函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。
- 友元函数是可以直接访问类的私有成员的非成员函数。
- 需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend
friend 类型 函数名(形式参数);
- 友元的声明不受访问控制符限制,可以放在类的任意位置,一般放在类的开头
- 友元函数没有指向当前对象的this指针
- 友元破坏了类的封装性,慎用
友元类
- 友元类的所有成员函数都是另一个类的友元函数,都可以访问另一个类中的隐藏信息(包括私有成员和保护成员)
- 当希望一个类可以存取另一个类的私有成员时,可以将该类声明为另一类的友元类
friend class 类名;
运算符重载
返回值类型 operator 运算符(形参列表)
{
// To-Do
}