比如
class A
{
   ~A()
   {
     ...
   }
}class B : A
{
   ~B()
   {
      ...
   }
}private A GetA()
{
   return new B();
}void main()
{
    A a=GetA();
}问一下走光main后将销毁局部变量A,这个时候执行的是A的析构还是B的?同样如果我们将A,B的位置换一下比如
private A GetA()
{
   return new A();
}void main()
{
    B a=GetA();
}结果又是调用那个构析?