Vitual在继承中修饰成员函数

来源:互联网 发布:什么是云计算的基础 编辑:程序博客网 时间:2024/06/06 06:58

代码:

#include <iostream>using namespace std;class A{public:    virtual void print()    {        cout << "A::print" << endl;    }    ~A()    {        cout << "xiegouA" << endl;    }};class B : public  A{public:    virtual void print()    {        cout << "B::print" << endl;    }};class C : public  B{public:    virtual void print()    {        cout << "C::print" << endl;    }};void print(A a){    a.print();}void main(){    A a, *pa, *pb, *pc;    B b;    C c;    pa = &a;    pb = &b;    pc = &c;    a.print();    b.print();    c.print();    cout << "-----" << endl;    pb->print();    pb->print();    pc->print();    cout << "-----" << endl;    print(a);    print(b);    print(c);    while(1);}

执行结果:

这里写图片描述