c++中重载、重写、隐藏的区别

  1. 重载:同一个函数的不同表现形式。
    1. 同一个类中;
    2. 函数原型不同(函数名相同,参数列表即顺序、个数、类型不同);
    3. virtual关键字可有可无。
       
  2. 重写:继承关系中,派生类对基类同名函数有不同的表现形式。
    1. 有继承关系的类;
    2. 函数原型相同;
    3. 基类成员函数必须声明为虚函数(virtual)。
     
  3. 隐藏:继承关系中派生类遮蔽基类的成员函数 (名字隐藏了基类的方法)
    1. 有继承关系的类;
    2. 两种:
      1. 区别重载:函数原型不同,基类成员可以有virtual,派生类隐藏了基类的函数;
      2. 区别重写:函数原型相同,基类没有virtual,派生类隐藏了基类。 
posted @ 2023-10-29 15:13  yuzuzu  阅读(49)  评论(0)    收藏  举报