【C++】static 静态成员

静态成员

静态成员包括静态数据成员和静态成员函数,提供了同类对象间数据成员的共享机制

静态成员不是某个对象的成员,是类所有对象的共享成员,只建立一个成员副本

静态成员的定义与引用

定义格式:static 类型 成员名

引用格式:类名::静态成员

静态数据成员

初始化格式:类型 类名::静态数据成员 = 初始化值

静态数据成员为同类所有对象所共享,不能使用构造函数初始化,必须单独初始化

静态数据成员不能在任何函数中分配内存和初始化

静态成员函数

静态成员函数可以直接访问本类静态数据成员和静态成员函数,但访问非静态成员需要借助对象调用

在对象创建之前,静态成员函数就可以处理静态数据成员

#include <iostream.h>

class type_name
{
public:
	type_name()
	{
		cout << "[Constructor] data_member = " << data_member <<endl;
	}

	static void set_data_member(int arg);

private:
	static int data_member;
};

void type_name::set_data_member(int arg)
{
	data_member = arg;
	cout << "data_member = " << data_member <<endl;
}

int type_name::data_member = 0;


void main()
{
	type_name::set_data_member(99);
	type_name obj;
}

  

原文地址:https://www.cnblogs.com/skullboyer/p/13383048.html