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


  • 相关阅读:
    javascript预编译练习(变态篇)
    javascript预编译
    原码、反码、补码 详解
    Ubuntu 16.04安装anaconda3
    html+css实现奥运五环(环环相扣)
    jquery实现分页效果
    Centos6.5修改mysql登陆用户密码
    2020/5/29 JS中的循环和函数
    2020/5/27 JS 循环语句
    2020/5/26 JS
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6332353.html
Copyright © 2011-2022 走看看