网站首页 > 基础教程 正文
类的 static 数据成员是独立于该类的任意对象而存在的,每个 static 数据成员是与类关联的对象,并不与该类的对象相关联。
因此,static 数据成员必须在类定义体的外部定义。且不像普通数据成员,static 成员不是通过类的构造函数进行初始化,而是应该在定义时进行初始化。
static 数据成员必须在类定义体的外部定义,static 关键字只能用于类定义体内部的声明中,定义不能标示为static。
静态数据成员初始化的格式为:
<数据类型><类名>::<静态数据成员名>=<值>
类使用static成员的优点:
- static 成员的名字是在类的作用域中,因此可以避免与其他类的成员或全局对象名字冲突;
- 可以实施封装。static 成员可以是私有成员,而全局对象不可以;
- static 成员是与特定类关联的,可清晰地显示程序员的意图。
类的静态数据成员有两种访问形式:
<类对象名>.<静态数据成员名>
或
<类类型名>::<静态数据成员名>
猜你喜欢
- 2024-10-12 C++中override与overload的区别:深入解析与应用
- 2024-10-12 C++中的static_cast #程序代码 c++ static用法
- 2024-10-12 为什么C++ 单例局部static初始化是线程安全的?
- 2024-10-12 编码规范-C++:尽可能使用static_cast而不是reinterpret_cast
- 2024-10-12 C++类对象中的this指针与静态成员:理解与应用
- 2024-10-12 看完就会用的C++17特性总结 c++ 17 新特性
- 2024-10-12 C++|变量的类型系统和属性 c++变量有哪几种作用域
- 2024-10-12 C++友元和静态函数:如何用特殊的方式访问和管理类的成员
- 2024-10-12 C++中的static关健字 c static关键字
- 2024-10-12 C++静态成员变量和静态成员函数使用总结
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)