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;
}
相关推荐
小王不爱笑1321 小时前
IO 模型
开发语言·python
知我Deja_Vu1 小时前
【避坑指南】ConcurrentHashMap 并发计数优化实战
java·开发语言·python
AI+程序员在路上2 小时前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
2401_831824962 小时前
基于C++的区块链实现
开发语言·c++·算法
汉克老师2 小时前
GESP5级C++考试语法知识(六、链表(一)单链表)
c++·链表·单链表·快慢指针·进阶·gesp5级·gesp五级
m0_518019482 小时前
C++与机器学习框架
开发语言·c++·算法
ZTLJQ2 小时前
深入理解逻辑回归:从数学原理到实战应用
开发语言·python·机器学习
qq_417695052 小时前
C++中的代理模式高级应用
开发语言·c++·算法
学嵌入式的小杨同学3 小时前
STM32 进阶封神之路(十九):ADC 深度解析 —— 从模拟信号到数字转换(底层原理 + 寄存器配置)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
xiaoye-duck3 小时前
《算法题讲解指南:动态规划算法--路径问题》--5.不同路径,6.不同路径II
c++·算法·动态规划