您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在C++中,函数重载(function overloading)是根据函数的参数列表(参数的类型、个数和顺序)来区分不同的函数。编译器通过参数列表来确定调用哪个函数。返回值类型本身并不影响函数的重载。
例如,以下代码是合法的,因为两个 print
函数的参数列表不同:
#include <iostream>
void print(int x) {
std::cout << "Printing int: "<< x << std::endl;
}
double print(double x) {
std::cout << "Printing double: "<< x << std::endl;
return x * 2.0; // 返回值类型不同,但不影响重载
}
int main() {
print(5); // 调用 print(int)
print(5.0); // 调用 print(double)
return 0;
}
然而,如果两个函数的参数列表相同,但返回值类型不同,这是不允许的,会导致编译错误。例如:
#include <iostream>
int print(int x) {
std::cout << "Printing int: "<< x << std::endl;
return x;
}
double print(int x) { // 错误:函数重载只看参数列表,不看返回值类型
std::cout << "Printing int as double: "<< x << std::endl;
return x * 2.0;
}
在这个例子中,编译器会报错,因为两个 print
函数的参数列表相同,但返回值类型不同。
总结来说,函数重载是根据参数列表来区分的,返回值类型不影响重载。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。