首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

虚函数覆盖调用,该如何处理

2012-02-25 
虚函数覆盖调用操作系统: windowsXP编辑器:visual C++ 6.0中的CL编辑器按照理论,在Derived_1中重新定义aFn

虚函数覆盖调用
操作系统: windowsXP
编辑器:visual C++ 6.0中的CL编辑器

按照理论,在Derived_1中重新定义aFn3()是回出现错误的。可是编辑器没有提示,那是为什么呢?

C/C++ code
#include  <iostream.h>//virtual function definitionclass Base{    public:         //define two virtual function.    virtual void aFn1(void)    {        cout << "aFn1 is in Base class." << endl;    }    virtual void aFn2(void)    {        cout << "aFn2 is in Base class." << endl;    }     void aFn3(void)    {        cout << "aFn3 is in Base class." << endl;    }};//Overloading the virtual fucntion aFn1 in Derived_1 class.class Derived_1:public Base{    public:    void aFn1(void)    {        cout<< "aFn1 is in First derived class." << endl;    }    void aFn3(void)    {        cout << "aFn3 is in First derived class."<< endl;    }};//Overloading the virtual fucntion aFn2 in Derived_2 classclass Derived_2:public Base{    public:    void aFn2(void)    {       cout<< "aFn2 is in second derived class." << endl;    }};// main() function definitionvoid main(void){    // create and use  object of base class    Base b;    cout << "Base : " << endl;    b.aFn1();    b.aFn2();    b.aFn3();    cout<< "---------------------------------------------"<< endl;    //create and use the object of derived_1 class    Derived_1 d1;    d1.aFn1();    d1.aFn2();    d1.aFn3();    cout << "--------------------------------------------" << endl;    //create and use the object of derived_2 class    Derived_2 d2;    d2.aFn1();    d2.aFn2();    d2.aFn3();}


[解决办法]
http://blog.csdn.net/changewang/archive/2006/11/02/1362887.aspx
[解决办法]

不会出错, 只是把base的相同函数 隐藏了而已


热点排行