MST

星途 面试题库

面试题:C++函数重载与类型匹配之基础应用

假设有如下C++代码片段: ```cpp void func(int a); void func(double a); void func(int a, double b); int main() { // 请在以下位置调用合适的func函数,传入参数10和3.14,使得调用func(int, double)函数 // 在此处添加调用代码 return 0; } ```请完成代码中注释部分,实现调用指定的重载函数。同时说明如果传入参数为10,会调用哪个函数,为什么。
39.4万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
  1. 完成代码调用:
void func(int a);
void func(double a);
void func(int a, double b);
int main() {
    func(10, 3.14);
    return 0;
}
  1. 当传入参数为10时,会调用void func(int a)函数。原因如下:
    • C++函数重载决议规则中,编译器会尝试寻找最佳匹配。当传入10(类型为int)时,void func(int a)函数是完全匹配的,而void func(double a)函数需要将int类型隐式转换为double类型。
    • 编译器优先选择完全匹配的函数,所以会调用void func(int a)函数。