zoukankan      html  css  js  c++  java
  • static 变量(静态变量)

           在C++的面向对象编程中,static还可以加在类的数据成员或成员函数之前。这样定义的数据成员或成员函数就被类所拥有,而不再属于类的对象

    #include <iostream>
    using namespace std;
    class widget
    {
      public:
        widget()
        {
            count++;
        }
        ~widget()
        {
          --count;
        }
    
        static int num()
        {
          return count;
        }
      private:
        static int count;
    };
    
    int widget::count = 0;
    
    int main()
    {
      widget x,y;
      cout<<"The Num.is"<<widget::num()<<endl;
      if(widget::num() > 1)
      {
        widget x,y,z;
        cout<<"The Num.is"<<widget::num()<<endl;
      }
      widget z;
      cout<<"The Num.is"<<widget::num()<<endl;
      return 0;
    }

           类widget有一个静态成员count和一个静态方法num()。类中的静态成员或方法不属于类的实例,而属于类本身并在所有类的实例间共享。在调用它们时应该用类名加上操作符“::"来引用。

           注意代码中构造函数将静态成员count的值加1,在析构函数中将静态成员函数减1。也就是说静态成员count的值表示类widget实例的个数。

           运行结果:

    The Num.is2
    The Num.is5
    The Num.is3


  • 相关阅读:
    【01】国内外git托管平台(总结by魔芋)
    【01】git下载和安装的完整过程
    分享一些正确的放松方式
    【03】图解原型和原型链by魔芋
    求一个正整数的阶乘
    乘法表
    Web Best Practices
    【03】const
    【02】块级作用域
    【01】let和const命令
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6332353.html
Copyright © 2011-2022 走看看