析构与构造顺序

来源:互联网 发布:艾吉奥奥迪托雷 知乎 编辑:程序博客网 时间:2024/06/05 17:24
 

#include "iostream.h"
class CSample
{
/*
 0 10 10 0

 为什么先构造的a打印a的值,打印b的值后,先析构的是b呢.可能是因为 "栈" 中"先进后出","后进先出"原则.
 所以先构造的a,b,最后出来,b析构,a析构.
*/

 int x;
public:
 CSample()
 {
  x=0;
 }
 CSample(int val)
 {
  x=val;
 }
 void disp()
 {
  cout<<x<<' ';
 }
 ~CSample()
 {
  cout<<x<<' ';
 }
};
void main(void)
{
 CSample a,b(10);
 a.disp();
 b.disp();
}

原创粉丝点击