【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; }
再牛逼的梦想也架不住傻逼似的坚持