C++:静态成员

静态成员涉及到的关键字尾static

静态成员变量要在类外初始化 去掉static关键字+类型+类名::+变量名

静态成员变量不属于任何对象 所有对象共享一份

静态成员可以不通过对象直接访问 类名::+成员名

静态成员依旧受访问修饰符的约束

静态成员函数不允许使用非静态成员 静态成员函数没有this指针

cpp 复制代码
#include<iostream>
using namespace std;


class AA
{
public:
	static int a;
	int b;
public:
	void Show()
	{
		cout << a << endl;
	}
	void SS()
	{
		a = 200;
	}

	static void ABC();
	
};

int AA::a=100;//不赋值默认为0

void AA::ABC()
{
	//cout << a << " " << b << endl;不能用b
	cout << "aa" << endl;
}


int main()
{

	AA aa;
	aa.SS();
	aa.Show();
	cout << sizeof(aa) << endl;//静态成员变量属于类,不属于某个具体的对象,即使创建多个对象,也只为静态成员变量分配一份内存

	AA bb;
	bb.a = 10;
	aa.Show();

	cout << AA::a << endl;
	//cout << AA::b << endl;//不行


	AA::ABC();
	aa.ABC();
	return 0;
}
相关推荐
Wild_Pointer.3 分钟前
项目实战:编写CMakeLists管理Qt+OpenCV项目
开发语言·c++·qt
莫逸风3 分钟前
【java-core-collections】集合框架深度解析
java·开发语言
geovindu5 分钟前
go: Bridge Pattern
开发语言·设计模式·golang·软件构建·桥接模式
Fate_I_C8 分钟前
Kotlin 为什么是 Android 开发的首选语言
android·开发语言·kotlin
承渊政道12 分钟前
【递归、搜索与回溯算法】(floodfill算法:从不会做矩阵题,到真正掌握搜索扩散思想)
数据结构·c++·算法·leetcode·矩阵·dfs·bfs
格鸰爱童话12 分钟前
python录音转文字
开发语言·python
常利兵13 分钟前
Kotlin 助力 Android 启动“大提速”
android·开发语言·kotlin
黎梨梨梨_13 分钟前
C++入门基础(上)(namespace和缺省参数)
开发语言·c++
谭欣辰14 分钟前
字典树:高效字符串处理利器
c++·算法
卢锡荣26 分钟前
单芯双 C 盲插,一线通显电 ——LDR6020P 盲插 Type‑C 显示器方案深度解析
c语言·开发语言·ios·计算机外设·电脑