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 分钟前
Kotlin Fragment 按钮跳转报错解决:Unresolved reference ‘floatingActionButton‘
android·开发语言·kotlin
海域云赵从友6 分钟前
破解跨境数据传输瓶颈:中国德国高速跨境组网专线与本地化 IP 的协同策略
开发语言·php
咚咚王者12 分钟前
人工智能之编程进阶 Python高级:第九章 爬虫类模块
开发语言·python
罗义凯31 分钟前
其中包含了三种排序算法的注释版本(冒泡排序、选择排序、插入排序),但当前只实现了数组的输入和输出功能。
数据结构·c++·算法
深蓝海拓1 小时前
使matplot显示支持中文和负号
开发语言·python
春蕾夏荷_7282977251 小时前
c++ easylogging 使用示例
c++·log·easylogging
syt_biancheng1 小时前
Day3算法训练(简写单词,dd爱框框,3-除2!)
开发语言·c++·算法·贪心算法
864记忆2 小时前
Qt Network 模块中的函数详解
开发语言·网络·qt
864记忆2 小时前
Qt Sql 模块中的函数详解
开发语言·网络·qt
是店小二呀2 小时前
五分钟理解Rust的核心概念:所有权Rust
开发语言·后端·rust