constructororder.cpp

来自「希望我提供的代码对大家有帮助」· C++ 代码 · 共 32 行

CPP
32
字号
//: C24:ConstructorOrder.cpp

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

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

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// Order of constructor calls

#include <iostream>

#include <typeinfo>

using namespace std;



template<int id> class Announce {

public:

  Announce() {

    cout << typeid(*this).name()

         << " constructor " << endl;

  }

  ~Announce() {

    cout << typeid(*this).name()

         << " destructor " << endl;

  }

};



class X : public Announce<0> {

  Announce<1> m1;

  Announce<2> m2;

public:

  X() { cout << "X::X()" << endl; }

  ~X() { cout << "X::~X()" << endl; }

};



int main() { X x; } ///:~

⌨️ 快捷键说明

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