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;
}
相关推荐
amy_jork6 分钟前
npm删除包
开发语言·javascript·ecmascript
浪成电火花1 小时前
(deepseek!)deepspeed中C++关联部分
开发语言·c++
茉莉玫瑰花茶1 小时前
Qt 常用控件 - 9
开发语言·qt
艾伦~耶格尔2 小时前
【数据结构进阶】
java·开发语言·数据结构·学习·面试
杜子不疼.2 小时前
《Python列表和元组:从入门到花式操作指南》
开发语言·python
WYH2872 小时前
C#控制台输入(Read()、ReadKey()和ReadLine())
开发语言·c#
祈祷苍天赐我java之术2 小时前
Java 迭代器(Iterator)详解
java·开发语言
秋氘渔3 小时前
综合案例:Python 函数知识整合 — 学生成绩管理系统
开发语言·python
我命由我123453 小时前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
愿天堂没有C++3 小时前
剑指offer第2版——面试题4:二维数组中的查找
c++·面试