• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
浅浅念
生如夏花之绚烂,死若秋叶之静美
博客园    首页    新随笔    联系   管理    订阅  订阅
重写,重载,重定义

  1. 重写  override

    定义:子类重写基类的虚函数

      特点:(1) 函数名相同 (2) 作用域不同 (3) 参数列表相同 (4) 基类函数必须有virtual关键字且不能有static (5) 返回值相同 (6)  重写函数的访问修饰符可以不同

      例子:基类:virtual void restrictionChanged(); 子类:void restrictionChanged()

  2. 重载 overload  

    定义:函数名相同,但是参数列表不同,注意main函数不能重载,每个程序的main函数只有一个

      特点:(1) 函数名相同 (2) 作用域相同 (3) 参数列表不同 (4) virtual关键字可有可无 (5) 返回值可以不同 (6) 访问修饰符可以不同

      例子:某类:void restrictionChanged(int); void restrictionChanged(double);

  3. 重定义 overwrite

    定义:子类重定义基类的函数 

      特点:(1) 函数名相同 (2) 作用域不同 (3) 参数列表可以不同 (4) virtual关键字可有可无 (5) 返回值可以不同 (6) 访问修饰符可以不同 

      例子:基类:void restrictionChanged(int); 子类:void restrictionChanged(double);

  参数列表不同:指的是个数或类型,但是不能靠返回类型来判断

学习无他法,唯有持之以恒
posted on 2017-03-21 20:47  浅浅念  阅读(852)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3