静态成员
在类当中,用static修饰的成员变量,称为静态成员。用static修饰的成员函数,称为静态成员函数。静态成员必须在类外进行初始化。
静态成员在类外初始化的方法:类名::成员名 ,在初始化时不用加关键字static,因为静态成员的初始化不同构造函数,所以有其返回值,并且静态成员不属于某一个对象,其为同一个类下所有对象的共享。
静态成员函数
在类当中在函数体之前加上关键字static,静态成员函数,没有隐藏的this指针,因此,其只能访问静态成员变量,不能访问非静态成员变量。
非静态成员函数可以调用静态成员函数,静态成员函数不能调用非静态成员函数。
类似于静态成员变量,因为其不属于某一个对象,所以当静态成员函数访问非静态成员函数时,编译器不知道其到底访问哪一个对象的静态成员函数,反之可以访问。
友元
友元包括友元函数与友元类两种。
友元函数
友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加friend关键字。