看一个面试题,一个析构函数的执行,感觉不理解,记在这里
// testDestroy.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class A{
public:
~A();
};
A::~A(){
printf("delete A");
}
class B : public A
{
public:
~B();
};
B::~B(){
cout << "delete B \n";
}
int _tmain(int argc, _TCHAR* argv[])
{
A *pa = new B();
delete pa;
return 0;
}
结果输出是: delete A