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;
}
相关推荐
霸道流氓气质1 分钟前
Java中集成Weka 技术教程:从入门到工程实践
java·开发语言·数据挖掘
SilentSlot32 分钟前
【C/C++】手写 DPDK 协议栈(十二):TCP 并发与自实现 epoll 的就绪事件分发
c语言·c++·tcp/ip
雨落在了我的手上36 分钟前
Java数据结构(九):栈和队列
java·开发语言·数据结构
SilentSlot39 分钟前
【C/C++】手写 DPDK 协议栈(六):TCP 三次握手、状态机与数据回显
c语言·c++·tcp/ip
j7~42 分钟前
【C语言】《C语言自定义类型(结构体+联合体+枚举类型)》--详解
c语言·开发语言·深度学习·结构体·位段·联合体·枚举类型
乱七八糟的屋子43 分钟前
AMQP C++ 超详细实战教程(amqp-cpp 开源库从零入门到生产落地)
c++·rabbitmq·任务队列·amqp·流量削峰·c++服务端异步解耦·分布式消息通信
Escalating_xu1 小时前
C++11 彻底吃透 emplace_back 与 push_back(最全闭环:左右值|深浅拷贝|移动构造|万能引用|完美转发)
开发语言·c++
天天进步20151 小时前
Python全栈项目--基于机器学习的金融风险评估系统
开发语言·python·机器学习
啦啦啦啦啦zzzz1 小时前
oat++框架应用之do、dao、service
服务器·c++·mysql·oatpp
皓月斯语1 小时前
B3865 [GESP202309 二级] 小杨的 X 字矩阵 题解
开发语言·c++·矩阵·题解