重温C++之虚拟析构函数

王朝c/c++·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

虚拟函数的引入是为了实现多态性(polymorphism),而虚拟析构函数是怎么实现多态性的?我想通过以下例子进行说明。

#include <iostream>

using namespace std;

class employee{

public:

employee(){

cout << "employee construction" << endl;

}

~employee(){

cout << "employee destruction" << endl;

}

};

class programmer: public employee{

public:

programmer(){

cout << "programmer construction" << endl;

}

~programmer(){

cout << "programmer destruction" << endl;

}

};

void main(){

{

programmer pg;

}

cout << "---------------------------" << endl;

{

employee *pe = new programmer( );

delete pe;

}

}

output:

employee construction

programmer construction

programmer destruction

employee destruction

---------------------------

employee construction

programmer construction

employee destruction

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航