本文主要是介绍阅读程序2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#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;
}
运行结果:
心得:
此程序先调用基类构造函数,再调用派生类构造函数,然后再调用指针变量指向的对象的同名函数,再调用派生类虚构函数,最后调用基类虚构函数。
这篇关于阅读程序2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!