p394 11.8构造函数和析构函数的顺序.cpp

来自「谭浩强 《C++ 程序设计》第三版的部分课后练习题源码」· C++ 代码 · 共 35 行

CPP
35
字号
#include<iostream>
using namespace std;
class A
{
      public:
             A(){cout<<"constructing A"<<endl;}
             ~A(){cout<<"destructing A"<<endl;}
};    

  class B:public A
{
      public:
             B(){cout<<"constructing B"<<endl;}
             ~B(){cout<<"destructing B"<<endl;}
};  

class C:public B
{
      public:
             C(){cout<<"constructing C"<<endl;}
             ~C(){cout<<"destructing C"<<endl;}
};  

int main()
{
	for(int i=0;i<1;i++)
	{
    C c;                               //如果没有循环就没有destructing,因为c没有失效,而在for的
                                          //循环完成之后,C就失效,就运行析构函数 
	}
    system("pause");
    return 0;
    
    }

⌨️ 快捷键说明

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