trash.cpp

来自「Think in C++ 第二版源码」· C++ 代码 · 共 23 行

CPP
23
字号
//: C25:Trash.cpp {O}

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

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

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

#include "Trash.h"

using namespace std;



Trash* Trash::factory(const Info& info) {

  vector<Trash*>::iterator it;

  for(it = prototypes.begin();

    it != prototypes.end(); it++) {

    // Somehow determine the new type

    // to create, and clone one:

    if (info.id() == (*it)->id())

      return (*it)->clone(info);

  }

  cerr << "Prototype not found for "

    << info << endl;

  // "Default" to first one in the vector:

  return (*prototypes.begin())->clone(info);

} ///:~

⌨️ 快捷键说明

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