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

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

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

C/C++ code

#include  <iostream.h>
//virtual function definition
class 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 class
class Derived_2:public Base
{
    public:
    void aFn2(void)
    {
       cout<< "aFn2 is in second derived class." << endl;
    }
};

// main() function definition
void 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.****.net/changewang/archive/2006/11/02/1362887.aspx
------解决方案--------------------

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