重载 覆盖 隐藏的区别
2013-04-21 11:47
134 查看
重载的特征:
必须在同一个域中(同一个函数中)
函数名相同,参数不同(参数类型,参数个数)
Virtual 可有可无
作用:使一个函数具有不同的方法
覆盖的特征:
必须在不同的域中(分别在基类与派生类中)
函数名形同,参数相同
必须具有virtual(基类必须,派生类可有可无)
作用:派生类的虚函数覆盖了基类的同名同参数的函数。是多态支持的特性,基类的指针或引用在调虚函数时根据运行时实际指向的对象调用函数。
隐藏的特征:
必须在不同的域中(分别在基类与派生类中)
函数名相同,参数相同,基类中没有virtual,则派生类函数隐藏了基类中的函数
函数名相同,参数不同,virtual可有可无,则隐藏
必须在同一个域中(同一个函数中)
函数名相同,参数不同(参数类型,参数个数)
Virtual 可有可无
作用:使一个函数具有不同的方法
覆盖的特征:
必须在不同的域中(分别在基类与派生类中)
函数名形同,参数相同
必须具有virtual(基类必须,派生类可有可无)
作用:派生类的虚函数覆盖了基类的同名同参数的函数。是多态支持的特性,基类的指针或引用在调虚函数时根据运行时实际指向的对象调用函数。
隐藏的特征:
必须在不同的域中(分别在基类与派生类中)
函数名相同,参数相同,基类中没有virtual,则派生类函数隐藏了基类中的函数
函数名相同,参数不同,virtual可有可无,则隐藏
相关文章推荐
- 重载覆盖隐藏区别
- 重载、覆盖、隐藏的区别
- C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
- 类成员函数的重载、覆盖和隐藏区别
- C++中重载、重写(覆盖)和隐藏的区别
- 类成员函数的重载、覆盖和隐藏(重写)的区别
- C++中成员函数的重载,覆盖和隐藏的区别
- 重载、覆盖、隐藏的区别
- 重载(overload)、覆盖(override)、隐藏(hide)的区别
- 重载、覆盖和隐藏的区别以及基类、父类指针关系
- 类成员函数的重载、覆盖和隐藏区别?
- 类成员函数的重载,覆盖和隐藏的区别
- 重载(overload),覆盖(override),隐藏(hide)的区别
- C++学习之多态及重载(overload),覆盖(override),隐藏(hide)的区别
- 成员函数的重载、覆盖和隐藏的区别与联系
- c++中多态函数以及函数重载,覆盖,遮蔽(隐藏)的区别
- C++_重载、重写(覆盖)和隐藏的区别:
- C++中的重载、覆盖和隐藏的区别
- 重载(overload)、覆盖(override)、隐藏(hide)的区别
- 重载(overload),覆盖(override),隐藏(hide)的区别