counted.h

来自「Think in C++ 第二版源码」· C头文件 代码 · 共 34 行

H
34
字号
//: C21:Counted.h

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// An object that keeps track of itself

#ifndef COUNTED_H

#define COUNTED_H

#include <vector>

#include <iostream>



class Counted {

  static int count;

  char* ident;

public:

  Counted(char* id) : ident(id) { count++; }

  ~Counted() { 

    std::cout << ident << " count = " 

      << --count << std::endl;

  }

};



int Counted::count = 0;



class CountedVector : 

  public std::vector<Counted*> {

public:

  CountedVector(char* id) {

    for(int i = 0; i < 5; i++)

      push_back(new Counted(id));

  }

};

#endif // COUNTED_H ///:~

⌨️ 快捷键说明

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