cpp函数的默认参数

01 函数的默认参数

在c++的函数中,函数的形式参数列表是可以由默认数值的。

语法:返回值类型 函数名称 (参数 = 默认值) {}

举个例子:

之前我们写一个函数是这样写的。

#include <iostream>
using namespace std;
int func1(int a, int b, int c);
int main()
{
    cout << func1(10, 20, 30) << endl;
    return 0;
}
int func1(int a, int b, int c)
{
    int temp = a + b + c;
    return temp;
}

这是一个传入三个数字,函数返回这三个数值相加的结果。在这里,调用这个函数的时候,必须要传入三个参数,否则会出现报错。

但是我们现在可以给函数的形式参数设置初始值,比如下面:(运行:打印70

#include <iostream>
using namespace std;
int func1(int a, int b = 20, int c = 30);
int main()
{
    cout << func1(10, 30) << endl;
    return 0;
}
int func1(int a, int b, int c)
{
    int temp = a + b + c;
    return temp;
}

这里,在调用函数的时候还是传入a b c。如果没有传入参数,那么就会自动使用默认值。如果有传入的参数,那么就使用传入的参数。

注意事项:

  1. 如果某一个地方已经有默认参数,那么从这个地方往后,从左向右都必须要有默认值。

    比如这样写就是正确的:

    int fun2(int a, int b = 0, int c = 0);

    但是这样写就是错误的:

    //int fun2(int a, int b = 0, int c);
  2. 如果函数的声明有了默认参数,则函数的定义里面则不可以出现默认参数。

    比如这样写就是正确的

    int fun2(int a, int b = 0, int c = 0);
    int fun2(int a, int b int c)
    {
     int temp = a + b + c;
     return temp;
    }

    但是这样写就是错误的:虽然不会出现红线,但是在程序运行的时候就会会出现问题。

    //int fun2(int a, int b = 0, int c = 0);
    //int fun2(int a, int b = 0, int c = 0)
    //{
    //   int temp = a + b + c;
    //   return temp;
    //}

    也就是:声明和定义里面,只能有一处有默认参数。比如这样也是正确的

    int fun2(int a, int b, int c);
    int fun2(int a, int b = 0, int c = 0)
    {
     int temp = a + b + c;
     return temp;
    }
  • 总结:函数可以在形式参数中设置默认参数。在形参列表中,从首个设置默认值的形参开始,后续所有形参都必须设置初始值。并且,在函数定义和声明中,有、且只有一处可以设置初始值。

函数的声明和定义中,只需要一处有默认参数,但是,形式参数列表是必须要的。

文章「cpp函数的默认参数」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/836」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇