一、成员函数的重定义和名字隐藏
派生类可以对基类的成员函数进行重定义或重载:
重定义是指派生类可以定义与基类具有相同函数原型(即具有相同的返回类型、函数名及参数列表)。
基类的public成员在派生类中不存在重载和重定义的情况下,基类对象可以正常访问基类public成员,但是派生类对基类成员函数的重定义或重载会影响基类成员在派生类中的可见性,基类的同名函数会被派生类重载的或重定义的同名函数所隐藏,如果要访问基类的成员函数,需要通过限定符访问。
基类Base:
class Base
{
public:
Base(){}
~Base(){}
void setx(int i){ x = i; }
void set(int n){ x = n; }
void print(){ cout << "Base class:x=" << endl; }
private:
int x;
};<