同名隐藏:
子类中具有和父类同名的函数(不管参数)时,子类的该方法将会隐藏掉所有的父类的同名方法;
class base
{
public:
base(){}
~base(){}
public:
void show()
{
cout << "base :: show()" <<endl;
}
void show(int x)
{
cout << "base :: show(int)" << endl;
}
};
class D : public base
{
public:
D(){}
~D(){}
public:
void show()
{
cout <<"D :: show()" << endl;
}
};
int main()
{
D d;
d.show(); //此处调用的是D类中的show方法
d.show(2); //出错,因为子类中的show隐藏了父类中的所有同名show方法,而子类中又没有带参数的show方法
return 0;
}