同名成员
在定义派生类的时候,C++语言允许派生类与基类中的函数名相同。如果在派生类中定义了与基类中相同的成员,则称派生类成员覆盖了基类的同名成员,在派生类中使用这个名字意味着访问在派生类中重新说明的成员。为了在派生类中使用基类的同名成员,必须在该成员名之前加上基类名和作用域标识符
基类名::成员名
访问声明
在前面我们也知道,私有继承方式会改变访问属性,比如,在基类的公有成员,私有继承后,这个成员在派生类中就成为了私有成员了,外界不能直接访问,那么我们怎么解决这个问题呢。
公有继承时,基类的公有成员还是公有成员,我们还可以在外界访问。如果修改成私有继承呢
那么私有继承我们应该怎么使用私有成员的数据。
我们加入using *****语句就可以使用私有成员了
访问声明机制可以在私有派生类中个别调整从基类继承下来的成员性质,从而使外界可以通过派生类的界面直接访问基类的某些成员,而且不需要其他类成员的封装。
1)访问声明中只含不带类型和参数的函数名或变量名。如上图,不带类型和参数
2)访问声明不能改变成员在基类中的访问属性,也就是说,访问声明只能把源基类的保护成员调整为派生类的保护成员,把原基类的公有成员调整为私有派生的公有成员,但基类的私有成员不能直接访问使用。
3)对于基类中的重载函数名,访问声明将对基类中所有同名函数起作用,这意味着有重载函数时要小心使用。