C++中静态初始化的相依性(三)

2013-12-05 13:06:07 · 作者: · 浏览: 372

 

  以下是例子程序:

  #include <iostream>

  using namespace std;

  class base

  {

  bool init;

  public:

  base() : init(true) { }

  void print() const

  {

  cout 《 "Base init: " 《 init 《 endl;

  }   };

  class extend   {

  base mem;   public:

  extend(const base &h) : mem(h) {

  cout 《 "extend's constructor: " 《 endl;

  print();

  }

  void print() const

  {

  mem.print();

  }   };

  base& bs();

  extend extend1(bs());

  int main()   {

  return 0;

  }

  base& bs()

  {

  static base base1;

  return base1;

  }