3. 编写一个sum内联函数,能返回两个整数的和,其两个参数都为默认参数,然后由主函数进行调用(试着传递不同个数的参数)。
时间: 2023-08-31 20:37:06 浏览: 287
计算机程序设计(C++)计算机程序设计(C++)04-6.2内联函数_25_25.pptx
### 回答1:
好的,我可以回答这个问题。以下是代码示例:
```c++
#include <iostream>
using namespace std;
inline int sum(int a = 0, int b = 0) {
return a + b;
}
int main() {
cout << sum() << endl; // 输出 0
cout << sum(10) << endl; // 输出 10
cout << sum(10, 20) << endl; // 输出 30
return 0;
}
```
上面的代码定义了一个名为 `sum` 的内联函数,参数 `a` 和 `b` 都有默认值为 0,函数内部直接返回 `a + b` 的和。在主函数中调用 `sum` 函数时,可以不传任何参数、传递一个参数或传递两个参数,编译器会根据参数个数自动选择使用默认值还是传入的实参值。在上面的示例中,分别输出了传入不同个数的参数时的结果。
希望这个答案能够帮到你,如果你还有其他问题需要咨询,请随时问我。
### 回答2:
sum 内联函数的实现如下:
```cpp
#include<iostream>
inline int sum(int a = 0, int b = 0) {
return a + b;
}
int main() {
int result1 = sum(); // 调用 sum 函数,不传递参数
int result2 = sum(5); // 调用 sum 函数,传递一个参数
int result3 = sum(8, 3); // 调用 sum 函数,传递两个参数
std::cout << "result1: " << result1 << std::endl;
std::cout << "result2: " << result2 << std::endl;
std::cout << "result3: " << result3 << std::endl;
return 0;
}
```
上述代码中,sum 函数被声明为内联函数,有两个默认参数,返回两个整数的和。主函数中首先调用了 `sum()` 来返回两个默认值相加的结果,然后调用了 `sum(5)` 来传递一个参数,该参数与第一个默认参数相加,最后调用了 `sum(8, 3)` 来传递两个参数,这两个参数分别与 sum 函数的两个参数相加。
程序输出如下:
```
result1: 0
result2: 5
result3: 11
```
其中,result1 的值是两个默认参数 0 + 0 的和,result2 的值是 5 + 0 的和,result3 的值是 8 + 3 的和。
### 回答3:
编写一个sum内联函数,实现返回两个整数的和。设置两个参数a和b,默认值分别为0。
```cpp
#include <iostream>
inline int sum(int a = 0, int b = 0) {
return a + b;
}
int main() {
int result1 = sum(); // 不传递参数,返回0
int result2 = sum(10); // 只传递一个参数,返回参数值
int result3 = sum(20, 30); // 传递两个参数,返回两数之和
std::cout << "result1: " << result1 << std::endl;
std::cout << "result2: " << result2 << std::endl;
std::cout << "result3: " << result3 << std::endl;
return 0;
}
```
运行结果:
```
result1: 0
result2: 10
result3: 50
```
上述代码定义了一个名为sum的内联函数,接受两个整数参数a和b,并设置其默认值为0。在主函数中,我们进行了三次调用,分别传递了不同个数的参数。当不传递任何参数时,sum函数返回0;当只传递一个参数时,sum函数返回该参数的值;当传递两个参数时,sum函数返回两个参数的和。最终,我们输出了结果result1、result2和result3的值。
阅读全文