パラメータに既定値を設定

VC++ で関数のパラメータが省略されたときの既定値を設定します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. 関数のオーバーロードを使って、名前が同じ三種類の関数を使い分けます。
    どの関数が呼ばれるかは、パラメータの個数により決まります。
    /*★ 関数のオーバーロード-2    前田 稔  ★*/
    #include <stdio.h>
    
    //関数の Prototype 宣言
    int sum(int v1, int v2);
    int sum(int v1, int v2, int v3);
    int sum(int v1, int v2, int v3, int v4);
    
    //★ main() 関数
    int main(void)
    {
        printf("sum=%d\n", sum(10,20));
        printf("sum=%d\n", sum(10,20,30));
        printf("sum=%d\n", sum(10,20,30,40));
        return(0);
    }
    
    int sum(int v1, int v2)
    {
        return v1+v2;
    }
    
    int sum(int v1, int v2, int v3)
    {
        return v1+v2+v3;
    }
    
    int sum(int v1, int v2, int v3, int v4)
    {
        return v1+v2+v3+v4;
    }
    
  2. 先のプログラムは、パラメータに既定値を設定する機能を使えば、もっと簡単にプログラミング出来ます。
    パラメータが省略されたときの既定値を設定するプログラムです。
    「int v3=0, int v4=0」が省略されたときの既定値です。
    /*★ パラメータに既定値を設定    前田 稔  ★*/
    #include <stdio.h>
    
    //関数の Prototype 宣言
    int sum(int v1, int v2, int v3=0, int v4=0);
    
    //★ main() 関数
    int main(void)
    {
        printf("sum=%d\n", sum(10,20));
        printf("sum=%d\n", sum(10,20,30));
        printf("sum=%d\n", sum(10,20,30,40));
        return(0);
    }
    
    int sum(int v1, int v2, int v3, int v4)
    {
        return v1+v2+v3+v4;
    }
    

超初心者のプログラム入門(C/C++)