C++静态成员变量和静态成员函数
静态成员变量:
// //所有对象共享同一份数据
在编译阶段分配内存空间
// //在类内声明,在类外初始化
静态成员函数:
//所有对象共享同一个函数
//静态成员函数只可以访问到静态成员变量
点击查看代码
//#include<iostream>
//using namespace std;
////静态成员变量
//class Person
//{
//public:
// static int m_A;//类内声明
// //静态变量也是有访问权限的
//private:
// static int m_B;
//};
//int Person::m_A = 190;//类外初始化
//int Person::m_B = 191;
//void test01()
//{
// Person p1;
// cout << p1.m_A << endl;
// Person p2;
// p2.m_A = 191;
// cout << p1.m_A << endl;
// //所有对象共享同一份数据
//}
//void test02()
//{
// //静态变量不属于某个对象 因为所有对象都共享同一份
// //
// //所以说 可以通过类名进行访问 也可以通过对象进行访问
// /*Person p1;
// cout << p1.m_A << endl;*/
// cout << Person::m_A << endl;
// cout << Person::m_B << endl;//不可以在类外访问私有的静态成员变量
//}
//int main()
//{
// test02();
// //所有对象共享同一份数据
// //在编译阶段分配内存空间
// //在类内声明,在类外初始化
//
// return 0;
//}
//静态成员函数
#include<iostream>
using namespace std;
class Person
{
public:
static void func()
{
m_A = 100;//共享的
//静态成员函数是可以访问静态成员变量的
//m_B = 191;//无法区分是哪一个变量的m_B属性
//静态成员函数是不可以访问非静态成员变量的
cout << "Func" << endl;
}
static int m_A;
int m_B;
private:
//静态成员函数也是有访问权限的
static void funcc()
{
cout << "Funcc" << endl;
}
};
int Person::m_A = 190;
//所有对象共享同一个函数
//静态成员函数只可以访问到静态成员变量
void test01()
{
//1
Person p1;
p1.func();
//2
Person::func();
//在类外不可以访问私有的静态成员函数
//Person::funcc();
//Person p2;
//p2.funcc();
}
int main()
{
test01();
system("pause");
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具