您的位置:首页 > 其它

14周阅读程序2.(2)(对虚析构函数的进一步认识)

2013-05-31 11:05 113 查看
/*

*程序的版权和版本声明部分

* Copyright (c)2013, 烟台大学计算机学院学生

* All rightsreserved.

* 文件名称:Mammal .cpp

* 作    者:  田凤

*完成日期:2013年5月31日

* 版本号: v1.0

* 输入描述: 略

* 问题描述:略

* 输出:输出信息

*代码:

#include <iostream>
using namespace std;
class Mammal
{
public:
Mammal( )
{
cout<<"Mammal constructor called."<<endl;
}
virtual ~Mammal()
{
cout<<"Mammal destructor called."<<endl;
}
virtual void Speak() const
{
cout<<"Mammal speak."<<endl;
}
};
class Dog : public Mammal
{
public:
Dog()
{
cout<<"Dog constructor called."<<endl;
}
~Dog()
{
cout<<"Dog destructor called."<<endl;
}
void Speak() const
{
cout<<"Woof!"<<endl;
}
};
int main()
{
Mammal *p=new Dog;
p->Speak();
delete p;
return 0;
}

*运行结果:



*心得体会:基类的析构函数声明为虚析构函数时,先调用派生类的析构函数,再调用基类的析构函数!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: