C++-----static修饰的成员变量和成员方法

一、static修饰的成员变量

  class Test
            {
            public:
            	Test(int a,int b):**mb(a),ma(a)**
            	{}
            	void Show()
            	{
            		cout<<"ma:"<<ma<<endl;
            		cout<<"mb"<<mb<<endl;
            	}
            private:
            	static int  ma;
            	int  mb;
            };
       int  main()
       {
       		Test test1(10,20);
       		test1.Show();
       		return 0;
      }

static修饰的成员变量
1、不属于对象私有
2、对象共享

2)、如何进行初始化或者赋值
因为构造函数是初始化对象所占空间,static修饰的成员变量不属于对象私有,因此不能用构造函数进行初始化,因此,一定要在类外进行初始化

 class Test
                {
                public:
                	Test(int a,int b):**mb(a),ma(a)**
                	{}
                	void Show()
                	{
                		cout<<"ma:"<<ma<<endl;
                		cout<<"mb"<<mb<<endl;
                	}
                private:
                	static int  ma;
                	int  mb;
                };
            int Test:: ma = 10;
           int  main()
           {
           		Test test1(10,20);
           		test1.Show();
           		return 0;
          }

3)、如何访问静态成员变量
静态的成员对象不依赖对象调动,可有可无,例如
Test::ma;
或者 test1.ma;
二、static修饰的成员方法

 class Test
                    {
                    public:
                    	Test(int a,int b):**mb(a),ma(a)**
                    	{}
                    	static void Show()
                    	{
                    		cout<<"ma:"<<ma<<endl;
                    		cout<<"mb"<<mb<<endl;
                    	}
                    private:
                    	static int  ma;
                    	int  mb;
                    };
                int Test:: ma = 10;
               int  main()
               {
               		Test test1(10,20);
               		test1.Show();
               		return 0;
              }

1、不依赖对象调动,所以没有this指针,遵循__cdecl调用约定
1)因此不能访问普通的成员变量
2)能访问静态成员变量<
3)静态成员方法不能调动普通成员方法
4)普通成员方法可以调动静态成员方法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值