您的位置:首页 > 编程语言 > C语言/C++

C++中函数覆盖 隐藏 重载区别

2015-03-30 14:30 127 查看
C++在继承这一节涉及到函数覆盖 隐藏 重载等,如何区别它们呢?
首先函数覆盖的条件:<1>基类函数必须是虚函数

<2>发生覆盖的两个函数要分别位于派生类和基类中

<3>函数名称和参数列表完全相同
其次函数隐藏主要有以下两种情况:

<1>派生类的函数和基类函数完全相同(函数名和参数列表相同),只是基类的函数没有使用virtual关键字。此时基类的函数将被隐藏,而不是覆盖。

<2>派生类的函数与基类的函数同名,但参数列表不同,在这种情况下,不管基类的函数声明是否有virtual关键字,基类的函数都被隐藏,注意这种情况与函数重载的区别,重载发生在同一个类中。

最后函数重载的条件:发生在同一个类中,函数名相同,参数列表中参数个数,参数类型,排列顺序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: