C++静态成员

静态成员

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员

静态成员分为

静态成员变量

  1. 所有对象共享同一份数据
  2. 在编译阶段分配内存
  3. 类内声明,类外初始化

静态成员函数

  1. 所有对象共享同一个函数
  2. 静态成员函数只能访问静态成员变量
cpp 复制代码
#include <iostream>
#include <string>
using namespace std;

class Person
{
public:
	static void func()
	{
		cout << "func调用" << endl;
		m_A = 100;
		//m_B = 100;
	}
	static int m_A;
	int m_B;
private:
	//static int m_B;  //静态成员变量也是有访问权限的
	static void func2()
	{
		cout << "func2调用" << endl;
	}
};

int Person::m_A = 10;

void test01()
{
	//静态成员变量两种访问方式
	//1,通过对象
	Person p1;
	p1.func();

	Person::func();
}

int main()
{
	test01();
	return 0;
}
相关推荐
wjs20242 小时前
Django Nginx+uWSGI 安装配置指南
开发语言
七夜zippoe3 小时前
JVM类加载机制(Class Loading)详解:双亲委派模型与破坏实践
java·开发语言·jvm·类加载·双亲委派
曹牧3 小时前
C#:无法从方法组转换为objec
开发语言·c#
自动化代码美学3 小时前
【Python3.13】官网学习之控制流
开发语言·windows·python·学习
AA陈超4 小时前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
coderxiaohan4 小时前
【C++】仿函数 + 模板进阶
开发语言·c++
IMPYLH5 小时前
Lua 的 collectgarbage 函数
开发语言·笔记·junit·单元测试·lua
百锦再5 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
Tony Bai6 小时前
Go 在 Web3 的统治力:2025 年架构与生态综述
开发语言·后端·架构·golang·web3