平时用了C++那么多年,真到了地头发现还是很容易弄糊涂的,以下的程序代码试一下自己能不能判断正确.
// testvirtual.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
class Base
{
public:
Base(){cout<<"Base"<<endl;show();}
virtual ~Base(){cout<<"~Base"<<endl;}
virtual void show(){ cout<<"Base()::show"<<endl;}
};
class A:public Base
{
public:
A(){cout<<"A"<<endl;show();}
~A(){cout<<"~A"<<endl;}
void show(){cout<<"A()::show"<<endl;}
};
int _tmain(int argc, _TCHAR* argv[])
{
{
Base* p = new A();
delete p;
}
return 0;
}