派生类覆盖基类成员
- 覆盖
- 派生类可以定义一个和基类成员同名的成员这叫覆盖
- 在派生类访问这类成员时,缺省的情况是访问派生类中定义的成员
- 要在派生类中访问由基类定义的同名成员时,要用作用域符号
::
- 真实编程中不应使派生类和基类有同名成员变量,但同名成员函数很常见
- 例有
base
基类,derived
派生类,二者都有func()
函数,则要用base
里的func()
时,用base::func()
类的保护成员
- 存取权限说明符
- 基类的private成员,可以被下列函数访问
- 基类的成员函数
- 基类的友元函数
- 基类的public成员,可以被下列函数访问
- 基类的成员函数
- 基类的友元函数
-派生类的成员函数 - 派生类的友元函数
- 其他的函数
- 基类的protected成员,可以被下列函数访问
- 基类的成员函数
- 基类的友元函数
- 派生类的成员函数可以访问当前对象的基类的保护成员
public继承的赋值兼容规则
- 派生类对象可以赋值给基类对象
- 派生类对象可以初始化基类引用
- 派生类对象的地址可以赋值给基类指针
- 如果派生方式是private或者protected,则上述三条都不行