前言:静态成员是指声明为 static 的类成员
一、静态数据成员
静态数据成员:不属于任何对象,不会因对象的建立而产生,也不会因对象的析构而删除,它是类的一部分,所以使用静态数据成员不会破坏类的隐蔽性。
1、初始化
必须对静态数据成员进行初始化,但它与一般数据成员不同,其初始化不能在构造函数中进行。
一般格式:
<数据类型><类名>::<静态数据成员名> = <初始值>
class Point
{
public:
static int Nom;
}
int Point::Nom = 12;
2、引用
若为公有,可直接访问,
一般格式:
<类名>::<静态数据成员>
cout << Point::Nom <<endl;
二、静态成员函数
1、初始化
静态成员函数没有this指针,so
直接访问:该类的静态数据成员、类以外的函数和数据;
间接访问:访问类中的非静态数据成员必须通过参数传递方式得到对象名,然后通过对象名来访问。
class Point
{
public:
static void displayCount();
static int count();
}
int Point::count = 0;
void Point::displyCount()
{
cout << Point::cout << endl;
}
2、调用
和一般成员函数一样。
一般格式: