C++静态成员变量和静态成员函数

news2024/11/16 5:35:40

演示代码如下:

#include<iostream>
using namespace std;

class Person
{
public:
	//静态成员函数 所有对象共享一个函数,且只能调用静态成员变量 ******
	static void func()
	{
		m_A = 300;
		cout << "静态成员函数调用" << endl;
	}

	//静态成员变量
	//1 所有对象共享同一份数据
	//2 编译阶段就分配内存
	//3 类内声明,类外初始化操作 ******
	static int m_A;


	//静态成员变量和静态成员函数也有访问权限
private:
	static int m_B;

	static void fun2()
	{
		cout << "static void fun2 调用" << endl;
	}
};

//类外初始化 ******************
int Person::m_A = 100;
int Person::m_B = 200;

void test01()
{
	Person p1;
	cout << p1.m_A << endl;	

	Person p2;
	p2.m_A = 200;
	cout << p1.m_A << endl;
	//p1,p2共享静态成员变量m_A
}

void  test02()
{
	//静态成员变量有两种访问方式

	//1. 通过对象进行访问
	Person p;
	cout << p.m_A << endl;

	//2. 通过类名进行访问
	cout << Person::m_A << endl;
	//cout << Person::m_B << endl;//报错,私有成员变量在类外无法调用
}

void test03()
{
	Person p3;
	p3.func();
	Person::func();
	//Person::func2();报错,因为私有成员函数在类外无法调用
}
int main() {
	test01();
	test02();
	test03();
}

运行结果如下:

 总结:

静态成员变量
1 所有对象共享同一份数据
2 编译阶段就分配内存
3 类内声明,类外初始化操作

静态成员函数
1 所有对象共享一个函数
2 只能调用静态成员变量

静态成员变量和静态成员函数也有访问权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964205.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Charles抓包工具系列文章(七)-- Rewrite工具的应用示例

一、背景 客户端通过域名访问后端服务,在api网关层,会判断path的前缀,默认/api开头的请求都转发至后端服务A。 当前缀是/assist/api开头,请求将转发至后端服务B(部署在192.168.80.226,便于测试对比) 在不改动kong网关配置的情况下,现需要把后者的请求转发至192.168.…

RxJava基础使用

Rx思想 事件从起点流向终点。 过程中可以对事件进行拦截&#xff0c;拦截时可以对事件进行处理&#xff0c;处理后将处理后的事件继续流向终点。 终点接收上一次处理后的事件。 获取网络图片并显示 基础实现 使用Observable.just(path) 创建图片路径的Observable。 使用m…

reshape函数及MATLAB应用

reshape 函数在 MATLAB 中是一个非常有用的函数&#xff0c;通过重新排列现有元素来重构数组。它允许你重新调整数组&#xff08;或矩阵&#xff09;的尺寸&#xff0c;而不改变其数据。这个函数特别适用于当你需要将一个矩阵或数组从一种结构转换为另一种结构时&#xff0c;只…

黑神话悟空是什么游戏 黑神话悟空配置要求 黑神话悟空好玩吗值得买吗 黑神话悟空苹果电脑可以玩吗

《黑神话&#xff1a;悟空》的类型定义是一款单机动作角色扮演游戏&#xff0c;但实际体验后会发现&#xff0c;游戏在很多设计上采用了「魂like」作品的常见元素。根据个人上手试玩&#xff0c;《黑神话&#xff1a;悟空》的推进节奏比较接近魂类游戏&#xff0c;Boss战也更像…

数据结构--双链表,循环链表,静态链表代码(王道书上代码手敲!!!)c++

目录 1.带头结点的双链表的初始化&#xff0c;判断链表是否为空&#xff0c;前插&#xff0c;后插&#xff0c;按位序插&#xff0c;删除后继节点&#xff0c;按位查找&#xff0c;按之查找&#xff0c;清空链表&#xff0c;销毁链表&#xff0c;遍历打印列表操作 2. 循环单链…

linux目录结构和重要文件

1. 目录介绍 操作Linux命令行&#xff0c;最基本的对象就是目录和文件&#xff0c;因为Linux中一切事物都是基于文件的&#xff0c;而目录就是文件的文件夹&#xff0c;所以接下来对一些基础且核心的文件目录管理命令进行说明。 1.1 目录结构 Linux系统目录结构是一个有层次…

达梦数据库的系统视图v$dict_cache

达梦数据库的系统视图v$dict_cache 达梦数据库系统视图V$DICT_CACHE主要用于监控和管理字典缓存的状态。字典缓存是数据库系统中用于存储元数据信息&#xff08;如表结构、索引信息等&#xff09;的缓存区域&#xff0c;它对于提高数据库查询性能至关重要。通过查询V$DICT_CAC…

Python 报错 SyntaxError: EOL while scanning string literal

Python 报错 SyntaxError: EOL while scanning string literal 在编程领域&#xff0c;尤其是使用Python这类解释型语言时&#xff0c;SyntaxError: EOL while scanning string literal 是一种常见的错误。这种错误通常发生在Python解释器尝试解析代码时&#xff0c;遇到了意外…

L-H、BytePlus 和 INOVAI在东京成功举办Web3 AI未来峰会

7月30日&#xff0c;L-H (Legendary Humanity)、字节跳动旗下BytePlus 和日本知名Web3孵化器 INOVAI 在东京联合举办Web3&AI未来峰会&#xff0c;水滴资本等行业重磅机构共同参与此次峰会&#xff0c;探讨AI与 Web3的融合性未来。 在此次峰会上&#xff0c;L-H (Legendary…

区块链软硬件协同,做产业数字化转型的“安全官” |《超话区块链》直播预告

今年的两会政府工作报告提出&#xff1a;“产业的数字化&#xff08;行业数字化转型&#xff09;是发展新质生产力的核心&#xff0c;是推动产业升级实现高质量发展的关键。”全面推进产业数字化&#xff0c;需要技术创新与产业应用深入协同&#xff1b;立足可持续发展的长远目…

动态面板数据实证模型及 Stata 具体操作步骤

目录 一、文献综述 二、理论原理 三、实证模型 四、稳健性检验 五、程序代码及解释 六、代码运行结果 一、文献综述 在经济学和社会科学的广袤领域中&#xff0c;动态面板数据模型逐渐成为研究者们探索复杂现象和关系的有力工具。众多杰出学者凭借这一模型在多个研究方向上…

30.x86游戏实战-遍历背包数组

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

弧形导轨的多样化驱动方式!

弧形导轨由导轨、导向滑块、传动机构等部分组成&#xff0c;是一种可以实现直线、圆弧、任意曲线运动的导向装置&#xff0c;广泛应用在机械设备中。弧形导轨的驱动方式具有多样性和灵活性&#xff0c;可以根据不同的应用场景和需求进行选择。 1、滚轮驱动&#xff1a;在弧形导…

全球汽车凸轮轴市场规模预测:未来六年CAGR为2.3%

随着汽车行业的持续发展和消费者对发动机性能的需求增加&#xff0c;汽车凸轮轴作为发动机核心部件之一&#xff0c;正逐渐受到市场的广泛关注。本文旨在通过深度分析汽车凸轮轴行业的各个维度&#xff0c;揭示行业发展趋势和潜在机会。 【市场趋势的演变】 1. 市场规模与增长…

VisualStudio 类设计器 组件的使用

总目录 前言 当我们需要快速熟悉一个新接手的软件系统框架及业务逻辑代码时&#xff0c;如果埋头一个个去捋顺&#xff0c;估计等你捋顺了&#xff0c;项目也结束了&#xff1b;应对这种情况最好方法就是先通过UML图去了解代码的宏观架构&#xff0c;然后有针对性的突破。VS中…

搭建Go语言gRPC微服务开发环境详细教程

文档&#xff1a;https://grpc.io/docs/languages/go/quickstart/ 下载protobuffer&#xff1a;https://github.com/protocolbuffers/protobuf/releases/tag/v27.2 解压到C:/dev目录&#xff1a; 将目录添加到环境变量&#xff1a; 打开终端进行测试&#xff1a; proto…

vite打包文件配置到IIS出现页面、图片加载不出来的问题

问题描述&#xff1a; 用vitevue3开发的项目&#xff0c;打包后放在服务器上&#xff0c;然后配置了IIS&#xff0c;用链接访问后出现白页面。 解决方案&#xff1a; 修改vite.config.js文件中的base路径&#xff1a;/改为./ 解决方案&#xff1a; 1.查看页面报错原因&…

雅致表达:看体育比赛 ,少不了的语文知识。

文章目录 引言捷报囊括当务之急问鼎凯旋折桂捞金曾几何时差强人意居功至伟一发不可收拾首当其冲不孚众望望其项背炙手可热美轮美奂摄氏度引言 随着巴黎奥运会各项赛事的展开,看到激动人心比赛画面的你,看到喜欢的选手圆梦的你,总会有冲动把喜悦分享出去,适当的用词为表达加…

MySQL笔记5——视图、存储过程和触发器

视图 创建视图 视图是从一个或几个基本表&#xff08;或视图&#xff09;导出的表。它与基本表不同&#xff0c;是一个虚表。 CREATE VIEW view_name as select…… 说明&#xff1a; view_name自己定义的视图名as后面是这个视图所用到的查询结果 视图的操作 视图的查询…

nodejs项目

一、基于域名配置server 1. 一个配置文件一般只有一个 http 模块 2. 一个 http 模块可以有多个 server 模块 3. 一个 server 模块就是一套 web 项目 4. 一个 server 模块中可以有多个 location 5. location 就是项目中的 url 路由 # 第一步 mkdir /zhangmin # 第…