多层继承中的虚函数

来源:互联网 发布:变号王软件下载 编辑:程序博客网 时间:2024/05/17 08:39
//Source filename: Win32Con.cpp
#include <iostream>
using namespace std;
class parent1
{
public:
    virtual int fun1(){
cout<<"parent1::fun1()"<<endl;return 0;
};
    virtual int fun2()=0;
};
class child1:public parent1
{
public:
virtual int fun1()
    {
        cout<<"child1::fun1()"<<endl;
        parent1::fun1();
        return 0;
    }
    virtual int fun2()
    {
        cout<<"child1::fun2()"<<endl;
        return 0;
    }
};


class grandson:public child1
{
public:
    virtual int fun2()
    {
        cout<<"grandson::fun2()"<<endl;
        //parent1::fun2();
        parent1::fun1();
        child1::fun2();
        return 0;
    }
};


void test_func1(parent1 *pp)
{
    pp->fun1();
    pp->fun2();
}


int main(int argc, char* argv[])
{
    grandson sunzi;
    test_func1(&sunzi);
    return 0;
}
原创粉丝点击