#include<iostream.h>
class student

    int x;
  public:
  student (int n)
  {
  cout<<"constructing student."<<endl;
      x=n; 
  }
  ~student()
  {cout<<"destructing student."<<endl;}
  void showx()
  {cout<<x<<endl;}
};class stu:public student
{
int y;
  public: 
stu(int n,int m):student(m)
{
   cout<<"constructing stu."<<endl;
   y=n;
}
    ~stu()
{cout<<"destructing stu."<<endl;}
 void showy()
 {cout<<y<<endl;}
};
 void main()
 {
   stu tp(10,20);
   tp.showx();
   tp.showy();
 }
这段代码的运行结果是:
constructing student.
destructing student. 
20
10
constructing stu.
destructing stu.为什么不是:
constructing student.
destructing student.
constructing stu.
destructing stu.
20
10  析构还书到底是在何时调用的?