zoukankan      html  css  js  c++  java
  • C++学习之路: 关于class的静态变量

    引言: 在定义类的时候,有时我们有一种需求想让 一个类的所以对象共用一个变量, 例如全体中华人民共和国公民共用一个人口总数, 我们都是中国公民, 但是我们国家的人口总数,是我们共有的。

    由此我们引出了类中的static 静态变量, 它和 类体外的静态变量时有一些小小的区别的。

     1 #include <iostream>
     2 #include <string>
     3 #include <vector>
     4 using namespace std;
     5 
     6 class Test
     7 {
     8     public:
     9         Test()
    10         {
    11             count++;        
    12         }
    13 
    14         ~Test()
    15         {
    16             count--;
    17         }
    18 
    19         static void print()
    20         {
    21             cout << "当前对象个数: " << count << endl;
    22         }
    23     private:
    24         static int count; //表示对象的个数
    25 };
    26 
    27 int Test::count = 0;
    28 
    29 int main(int argc, const char *argv[])
    30 {
    31     Test::print();
    32     Test t1;
    33     t1.print();
    34     Test t2;
    35     t1.print();
    36     t2.print();
    37     
    38     return 0;
    39 }

    像我们代码中的static int count,首先它是class的private成员,不是所有用户都可以访问的,是私有的。

    它是静态的,属于所有对象共同所有, 就像班级的篮球一样, 所有人都拥有它,但是却不是独享的。 当其中一个对象对其进行count++时,其他对象的count也会自增1;

    1 当前对象个数: 0
    2 当前对象个数: 1
    3 当前对象个数: 2
    4 当前对象个数: 2

    打印结果,证实了我们的猜想。

  • 相关阅读:
    连接心跳问题
    超时时间已到
    CSS定位属性-position
    AJAX背景技术介绍
    mysql中length字符长度函数使用方法
    mysql常用函数
    php构造函数的继承方法
    属性选择器(通常用在input)
    input标签常用属性
    PHP程序如何debug?
  • 原文地址:https://www.cnblogs.com/DLzhang/p/3986039.html
Copyright © 2011-2022 走看看