重载是一种可使函数、运算符等处理不同类型数据或接受不同个数的参数的方法,通过重载,函数可以存在具有相同的名字,但是参数列表不相同的情形(参数的个数不同,或参数的类型不同),这样的同名、但不同参数的函数或者方法之间,互相称之为重载函数或者方法。需要注意的是,不能用返回值来区分重载函数。
重载函数的定义如下:在相同的声明域中的函数名是相同的,而参数表是不同的,即通过函数的参数表而唯一标识并且来区分函数的一种特殊的函数。两个重载函数必须在下列一个或两个方面有所区别:
1)函数有不同参数个数。
2)函数有不同参数类型。
根据上述定义可知,函数名相同,而函数的参数类型、参数个数不同,才能构成函数的重载。
挨个分析如下:函数重写:
1、分别位于基类和派生类;
2、函数名称相同,参数相同,返回值相同;
3、基类函数必须使用virtual关键字;
4、重写函数的访问限定符可以不同;
函数重载:
1、必须在同一个类中;
2、函数名相同,参数不同(数量,顺序,名称)与返回值无关;
3、virtual可有可无;
函数隐藏:
1、分别位于基类和派生类;
2、函数名相同,返回值可以不同;
3、参数相同,不能有virtual,此时,基类的函数被隐藏;
4、参数不同,不论有没有virtual关键字,基类的函数都被隐藏
【解析】函数重载的概念:在同一作用域中,同名函数的形式参数(参数个数、类型或者顺序)不同时,构成函数重载,与返回值类型无关。函数重载减少了函数名的数量,避免了名字空间的污染,提高程序的可读性。
A 选项正确,参数个数不一样
B 选项正确,参数类型不一样
C 选项正确,参数类型不一样
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp10