C++静态成员

静态成员

  • 静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员

静态成员分为:

静态成员变量

所有对象共享同一份数据

在编译阶段分配内存

类内声明,类外初始化

静态成员函数

所有对象共享同一个函数

静态成员函数只能访问静态成员变量

代码示例:

#include <iostream>
using namespace std;
//静态成员函数

//* 所有对象共享同一个函数
//*
//静态成员函数只能访问静态成员变量
class Person
{
   
public:
       //静态成员函数
       static void func()
       {
   
              m_A = 100;    //静态成员函数访问 静态成员变量
              //m_B = 200; //静态成员函数 不可以访问非静态成员变量,无法区分到底是那个对象
              cout << "static void func调用" << endl;
       }
       static int m_A;      //静态成员变量
       int m_B;      //非静态成员变量
private:
       static void fun2()
       {
   
              cout << "static void func2调用" << endl;
       }
};
int Person::m_A = 0;
void test01()
{
   
       //1.通过对象访问
       Person p;
       p.func();
       //2.通过类名访问
       Person::func();
       //Person::func2();类外访问不到私有静态成员函数
}
int main()
{
   
       test01();
       return 0;
}

欢迎关注微信公众号:黑马金牌编程

C/C++基础 文章被收录于专栏

本专栏收录C/C++编程语言相关知识

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:15
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务