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;
}
相关推荐
李日灐几秒前
C++STL: vector 简单使用,讲解
开发语言·c++
明洞日记2 分钟前
【VTK手册017】 深入详解 vtkImageMathematics:医学图像的基本算术运算
c++·图像处理·算法·vtk·图形渲染
程序员-周李斌3 分钟前
CopyOnWriteArrayList 源码分析
java·开发语言·哈希算法·散列表
晚风(●•σ )8 分钟前
C++语言程序设计——【算法竞赛常用知识点】
开发语言·c++·算法
程序猿本员9 分钟前
8. 定制new和delete
c++
..过云雨10 分钟前
14.【Linux系统编程】进程间通信详解(管道通信、System V共享内存、消息队列、信号量)
linux·c语言·c++·后端
Byron Loong11 分钟前
【C#】离线场景检测系统时间回拨
开发语言·c#
Mr_WangAndy16 分钟前
C++23新特性_#warning 预处理指令
c++·c++23·c++40周年·c++23新特性·warning预处理命令
free-elcmacom19 分钟前
机器学习入门<4>RBFN算法详解
开发语言·人工智能·python·算法·机器学习
韭菜钟20 分钟前
在Qt中实现mqtt客户端
开发语言·qt