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;
}
相关推荐
缺点内向17 小时前
C#: 高效移动与删除Excel工作表
开发语言·c#·.net·excel
老前端的功夫17 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
ᐇ95918 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
QT 小鲜肉19 小时前
【个人成长笔记】在 Linux 系统下撰写老化测试脚本以实现自动压测效果(亲测有效)
linux·开发语言·笔记·单片机·压力测试
程序员龙一19 小时前
C++之static_cast关键字
开发语言·c++·static_cast
yue00819 小时前
C# 分部类读取学生信息
开发语言·c#
奶茶树19 小时前
【C++/STL】map和multimap的使用
开发语言·c++·stl
聪明努力的积极向上19 小时前
【C#】事件简单解析
开发语言·c#
懒羊羊不懒@19 小时前
JavaSe—集合框架、Collection集合
java·开发语言