阅读程序2

来源:互联网 发布:photoshop cs6破解mac 编辑:程序博客网 时间:2024/05/21 06:58
#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;}

运行结果:


心得:

此程序先调用基类构造函数,再调用派生类构造函数,然后再调用指针变量指向的对象的同名函数,再调用派生类虚构函数,最后调用基类虚构函数。



原创粉丝点击