statvar.cpp

来自「Thinking in C++ 2nd edition source code 」· C++ 代码 · 共 33 行

CPP
33
字号
//: C03:Statvar.cpp
// From Thinking in C++, 2nd Edition
// at http://www.BruceEckel.com
// (c) Bruce Eckel 1999
// Copyright notice in Copyright.txt
// Static member variable in a class
#include <iostream>
using namespace std;

class Common {
  static int i;  // Declaration, NOT definition!
 public:
  Common() { i++; }
  ~Common() { i--; }
  void look_around() {
    if(i > 1)
      cout << "there are other objects of this class" << "endl";
    else
      cout << "no other objects of this class" << endl;
  }
};
// You must provide a definition for a static member:
int Common::i = 0;
int main() {
  Common a;
  a.look_around();
  {
    Common b;
    b.look_around();
  }  // b destroyed here
  a.look_around();
}  // a destroyed here ///:~

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?