c++学习记录(十五)

派生类覆盖基类成员

- 覆盖

  • 派生类可以定义一个和基类成员同名的成员这叫覆盖
  • 在派生类访问这类成员时,缺省的情况是访问派生类中定义的成员
  • 要在派生类中访问由基类定义的同名成员时,要用作用域符号::
  • 真实编程中不应使派生类和基类有同名成员变量,但同名成员函数很常见
  • 例有base基类,derived派生类,二者都有func()函数,则要用base里的func()时,用base::func()

类的保护成员

- 存取权限说明符

  • 基类的private成员,可以被下列函数访问
    • 基类的成员函数
    • 基类的友元函数
  • 基类的public成员,可以被下列函数访问
    • 基类的成员函数
    • 基类的友元函数
      -派生类的成员函数
    • 派生类的友元函数
    • 其他的函数
  • 基类的protected成员,可以被下列函数访问
    • 基类的成员函数
    • 基类的友元函数
    • 派生类的成员函数可以访问当前对象的基类的保护成员

public继承的赋值兼容规则

  • 派生类对象可以赋值给基类对象
  • 派生类对象可以初始化基类引用
  • 派生类对象的地址可以赋值给基类指针
  • 如果派生方式是private或者protected,则上述三条都不行

posted on 2020-02-12 22:44  2002ljy  阅读(125)  评论(0编辑  收藏  举报

导航

Live2D