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;
}
相关推荐
Vincent_Vang2 分钟前
多态 、抽象类、抽象类和具体类的区别、抽象方法和具体方法的区别 以及 重载和重写的相同和不同之处
java·开发语言·前端·ide
qualifying3 分钟前
JavaEE——多线程(3)
java·开发语言·java-ee
Fate_I_C5 分钟前
Kotlin 中的 suspend(挂起函数)
android·开发语言·kotlin
周亚鑫7 分钟前
vue3 js代码混淆
开发语言·javascript·ecmascript
天赐学c语言7 分钟前
12.30 - 合并区间 && C++中class和C语言中struct的区别
c语言·c++·算法·leecode
陳103013 分钟前
C++:vector(1)
开发语言·c++
棉晗榜14 分钟前
WPF将程序集里面嵌入的资源文件下载到本机磁盘中,将项目中的文件下载到桌面
开发语言·wpf
人道领域21 分钟前
【零基础学java】(Map集合)
java·开发语言
杀死那个蝈坦22 分钟前
JUC并发编程day1
java·开发语言
lly20240622 分钟前
SQLite Alter 命令详解
开发语言