在交通工具类vehicle中使用虚析构函数。
#include <iostream>
using namespace std;
class vehicle
{public:
vehicle( ){}
virtual ~vehicle( )
{ cout << "vehicle :: ~vehicle( )" << endl; }
private:
int wheels;
float weight;
};
class motor_vehicle: public vehicle
{public:
motor_vehicle( ){ }
~motor_vehicle( )
{ cout << "motor_ vehicle :: ~motor_ vehicle( )" << endl; }
private:
int passengers;
};
int main( )
{ vehicle *p = NULL;
p = new motor_vehicle;
delete p;
return 0 ;
}
#include <iostream>
using namespace std;
class vehicle
{public:
vehicle( ){}
virtual ~vehicle( )
{ cout << "vehicle :: ~vehicle( )" << endl; }
private:
int wheels;
float weight;
};
class motor_vehicle: public vehicle
{public:
motor_vehicle( ){ }
~motor_vehicle( )
{ cout << "motor_ vehicle :: ~motor_ vehicle( )" << endl; }
private:
int passengers;
};
int main( )
{ vehicle *p = NULL;
p = new motor_vehicle;
delete p;
return 0 ;
}