同名隐藏

一旦子类定义了与父类同名的方法,则父类里面该名字的所有方法被隐藏了。必须显示指定是父类的方法才可以

#include<iostream>
using namespace std;

class Base
{
public:
    Base() :x(0)
    {}
    ~Base()
    {}
    void show()
    {
        cout << "This is Base show" << endl;
    }
    void show(int n)
    {
        cout << "This is Base show" << n << endl;
    }
private:
    int x;
};

class D :public Base
{
public:
    D() :y(0)
    {}
    ~D()
    {}
    void show()
    {
        cout << "This is D show" << endl;
    }
private:
    int y;
};

void main()
{
    D d;
    d.show();
    d.Base::show(10);
}
View Code

相关文章: