静态成员

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

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

静态成员的定义与引用

定义格式: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;
}

  

【C++】static 静态成员的更多相关文章

  1. 缓存篇(Cache)~第一回 使用static静态成员实现服务器端缓存(导航面包屑)

    返回目录 今天写缓存篇的第一篇文章,在写完目录后,得到了一些朋友的关注,这给我之后的写作带来了无穷的力量,在这里,感谢那几位伙伴,哈哈! 书归正传,今天我带来一个Static静态成员的缓存,其实它也不 ...

  2. C++学习10 static静态成员变量和静态成员函数

    一般情况下,如果有N个同类的对象,那么每一个对象都分别有自己的成员变量,不同对象的成员变量各自有值,互不相干.但是有时我们希望有某一个或几个成员变量为所有对象共有,这样可以实现数据共享. 可以使用全局 ...

  3. C++ 类的static静态成员

    静态static 静态成员的提出是为了解决数据共享的问题.实现共享有许多方法,如:设置全局性的变量或对象是一种方法.但是,全局变量或对象是有局限性的. 在全局变量前,加上关键字static该变量就被定 ...

  4. c++学习笔记之类和对象(三、static静态成员变量和静态成员函数)

    一.static静态成员变量 对象的内存中包含了成员变量,不同的对象占用不同的内存,这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响.是有时候我们希望在多个对象之间共享数据,对象 a 改变 ...

  5. 想用@Autowired注入static静态成员?官方不推荐你却还偏要这么做

    生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...

  6. 对static静态成员的理解

    疑惑: 数据成员可以分静态变量.非静态变量两种.  静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例 ...

  7. c++,static 静态成员变量 / 静态成员函数

    静态成员变量: //静态成员变量(static) // //1.如果想在同类的多个对象之间实现数据共享 ,可以用静态 //成员变量,即用static修饰的成员变量,例 static int a; // ...

  8. C++ static 静态成员变量 和 静态成员函数

    静态(static) 成员 变量 1•  静态成员变量的初始化须要在类外完毕. 2•  静态成员不属于详细的某个对象,而属于整个类: 3•  全部对象共享本类中的静态成员: 4•  静态成员最好直接通 ...

  9. C++ static静态成员

    01 基本概念 静态成员:在定义前面加了static关键词的成员. class A { public: A(int a, int b):m_a(a),m_b(b) { num += m_a + m_b ...

  10. 34)static 静态成员和静态成员函数

    1) static修饰的方法,只能在这个文件中使用,比如你是多文件编程,别的文件即使引入了我的 .h文件  但那时我的static方法也是不能用 2)C++的static的成员变量   比如  sta ...

随机推荐

  1. Android联系人增删改查

    1:申请权限 <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-p ...

  2. 使用gradle的方式进行Springboot3的web开发(微服务版)

    简要: 最近看了很多的Springboot3的项目,但是发现很多都是用maven来进行版本管理的,很少有用gradle来管理的,通过网上查找资料,看视频,终于自己写一个gradle管理的Springb ...

  3. Pytest07-pytest.ini配置文件

    1.pytest配置文件 固定名称:pytest.ini 作用域:当前目录及子目录 具体配置功能见下: [pytest] # 01 把命令行参数自动添加到这里 addopts = -s -v --ht ...

  4. JavaScript apply、call、bind 函数详解

    apply和call apply和call非常类似,都是用于改变函数中this的指向,只是传入的参数不同,等于间接调用一个函数,也等于将这个函数绑定到一个指定的对象上: let name = 'win ...

  5. flutter中去除导航栏与状态栏

    方法一 SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom]); // ...

  6. JSON字符串中获取一个特定字段的值

    第一种 import com.google.gson.JsonObject; import com.google.gson.JsonParser; String json="{\" ...

  7. Rasa初始化聊天机器人的配置

      本文详细介绍了使用 rasa init 初始化聊天机器人项目的配置,包括 nlu.yml.rules.yml.stories.yml.test_stories.yml.config.yml.cre ...

  8. CNCF首个云原生多云容器编排项目Karmada正式晋级孵化

    文分享自华为云社区<CNCF首个云原生多云容器编排项目Karmada正式晋级孵化]>,作者:云容器大未来. 近日,云原生计算基金会(CNCF)宣布,CNCF技术监督委员会(TOC)已投票通 ...

  9. 使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能

    本文分享自华为云社区<使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能>,作者:云容器大未来. AI 技术现状及发展趋势 过去十余年,依托全球数据.算法 ...

  10. 云图说|图解云消息服务KooMessage

    摘要:云消息服务(KooMessage)是提供数字化营销新入口,覆盖全行业.全场景.全终端的一站式富媒体消息服务. 本文分享自华为云社区<[开天aPaaS]图解云消息服务KooMessage&g ...