C++:static类
发布时间:2020-12-16 09:14:22 所属栏目:百科 来源:网络整理
导读:static自我理解 static使得数据成员或者函数生命周期为整个文件所在程序的生命周期, 在C中还可以用它避免被其它文件使用为外部成员 static类 明确:类的静态数据成员它被所有类对象共享,但它是属于类的,而不是类的对象的 定义静态成员: static只出现在类
static自我理解static使得数据成员或者函数生命周期为整个文件所在程序的生命周期, 在C中还可以用它避免被其它文件使用为外部成员 static类明确:类的静态数据成员它被所有类对象共享,但它是属于类的,而不是类的对象的 定义静态成员:static只出现在类内部的声明语句中静态成员函数在类的内部与外部均可以定义(只需要在函数声明前加上static) class a1{ .... static void func1(); }; void a1::func1(){...} 因为静态数据成员不属于类的任何一个对象,这意味着它们不是有类的构造函数初始化的,必须在类的外部 并且最好与其它非内联函数的定义放在一个文件下 类内初始化方法:我们可以为静态成员提供const 整数类型 类内初始值,不过要求静态成员必须是字面值类型的constexpr
静态成员能用于某些场景:静态数据成员可以是不完全类型: class Bar{ public:... private: static Bar mem1; //OK Bar *mem2; //OK Bar mem3; //ERROR }; 我们可以使用静态成员作为默认实参 class Screen{ public: Screen & clear(char = bkground) private: static const char bkground; }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |