C++中虚函数的实例

来源:互联网 发布:java md5校验 编辑:程序博客网 时间:2024/06/05 19:29

/*
 * File:   main.cpp
 * Author: yubao
 *
 * Created on June 1, 2009, 11:39 PM
 */

#include <iostream>
using namespace std;
class B0
{
public:
    virtual void display()
    {
        cout<<"B0::display()"<<endl;
    }
};

class B1:public B0
{
public:
    void display()
    {
        cout<<"B1::diaplay()"<<endl;
    }
};

class D1:public B1
{
public:
    void display()
    {
        cout<<"D1::display()"<<endl;
    }
};

void fun(B0 *ptr)
{
    ptr->display();
}

/*
 *
 */
int main(int argc, char** argv) {
    B0 b0, *p;
    B1 b1;
    D1 d1;
    p=&b0;
    fun(p);
    p=&b1;
    fun(p);
    p=&d1;
    fun(p);
    return 0;
}