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


  • 相关阅读:
    redis学习--Hashes数据类型
    redis学习--String数据类型。
    redis学习一
    redis命令大全
    MongoDB学习笔记(索引)
    ECharts的使用(经典博客)
    php中五种常见的设计模式
    实用的借口
    php中socket的使用
    jquery仿凡客诚品图片切换的效果实例代码
  • 原文地址:https://www.cnblogs.com/wangfengju/p/6172431.html
Copyright © 2011-2022 走看看