当前位置: 首页 > news >正文

类的静态成员变量 static member

C++自学精简教程 目录(必读)

类的静态成员 static member 变量全局只有一份副本,不会随着类对象的创建而产生副本。

static 静态成员

在类的成员变量前面增加static关键字,表示这个成员变量是类的静态成员变量。

#include <iostream>
using namespace std;
struct MyStruct {// 下面的这条初始化语句等价于下面的两条语句://(1)ider= ider+ 1; //(2)id = ider;MyStruct() :id(++ider){}int id;static int ider;//将
};int MyStruct::ider = 0;
//(0) main函数开始执行之前
int main()
{//(1)创建对象my1,执行完下面这条语句之后,MyStruct::ider== 1, my1.id == 1 MyStruct my1;//(1)//(2)创建对象my2,执行完下面这条语句之后,MyStruct::ider== 2, my1.id == 2 MyStruct my2;//(2)//(3)创建对象my3,执行完下面这条语句之后,MyStruct::ider== 3, my1.id == 3 MyStruct my3;//(3)//my1.increaser和MyStruct::increaser是同一个变量//,只不过一个是通过对象访问,一个是通过类名访问cout << my1.id << " " << MyStruct::ider<< endl;cout << my2.id << " " << MyStruct::ider<< endl;cout << my3.id << " " << MyStruct::ider<< endl;return 0;
}

输出:

1 3
2 3
3 3

图形展示:

(0) main函数开始执行之前,静态数据初始化就已经完成过了

(0) main函数开始执行之前,静态数据初始化就已经完成过了

(1)创建对象my1

(1)创建对象my1

(2)创建对象my2

(2)创建对象my2

(3)创建对象my3

http://www.lryc.cn/news/151717.html

相关文章:

  • MVSNet (pytorch版) 搭建环境 运行dtu数据集重建 实操教程(图文并茂、超详细)
  • Linux系统Ubuntu以非root用户身份操作Docker的方法
  • m4s格式转换mp4
  • SQL sever中库管理
  • 模板方法模式简介
  • 自动化运维工具-------Ansible(超详细)
  • 计算机毕设 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python
  • Citespace、vosviewer、R语言的文献计量学 、SCI
  • linux操作系统的权限的深入学习
  • LeetCode——三数之和(中等)
  • SpringMVC使用
  • 【css】css奇数、偶数、指定数选择器:
  • 三维数据Ply格式介绍与读取
  • 内存管理方式
  • 文心一言接入Promptulate,开发复杂LLM应用程序
  • TDengine函数大全-聚合函数
  • DRM全解析 —— ADD_FB(2)
  • windows下docker compose方式挂载数据卷volume遇到的问题
  • TCP三次握手四次挥手总结
  • 【0901作业】QTday3 对话框、发布软件、事件处理机制,使用文件相关操作完成记事本的保存功能、处理键盘事件完成圆形的移动
  • mysql数据库运行sql:datetime(0) NULL DEFAULT NULL报错【杭州多测师_王sir】
  • 手撕二叉平衡树
  • 超图嵌入论文阅读1:对偶机制非均匀超网络嵌入
  • Qt xml解析之QXmlStreamReader
  • Selenium基础 — CSS选择器定位大全
  • vue3中keep-alive的使用及结合transition使用
  • 【提示工程】询问GPT返回Json结构数据
  • CSS水平垂直居中方案
  • SpringBoot入门篇3 - 整合junit、整合mybatis、基于SpringBoot实现ssm整合
  • C#,《小白学程序》第七课:列表(List)应用之一“编制高铁车次信息表”