C++関数のパラメータは標準値の詳細を取ります。


一般的には、関数呼び出し時に実参照から値を取得しますので、実参照の個数はイメージと同じです。同じ関数を何度も呼び出した場合、同じパラメータで、C++は簡単な処理方法を提供して、形参にデフォルト値を提供します。このように、形参は必ずしも実際から値を取る必要がありません。関数がある場合はfloat ara(float=6.5)を宣言します。rのデフォルト値が6.5であることを指定します。この関数を呼び出したとき、rの値が6.5であることを確認したら、ara()のような実参の値を与えなくてもいいです。  //ara(6.5)に相当しますこのデフォルトの値をイメージしたくない場合は、別のパラメータで指定します。ara(7.5)//この方法は6.5ではなく、形参で得られた値は7.5であり、より柔軟であり、プログラミングを簡略化して実行効率を向上させることができる。複数のモダリティがある場合、各モダリティはデフォルト値を持つことができます。一部のモダリティに対してのみデフォルト値を指定することもできます。他の一部はデフォルト値を指定しません。円柱の体積を求める関数があるように、形参hは円柱の高さを表し、rは円柱の半径である。関数のプロトタイプは以下の通りです。float volume(float h、float r=12.5)  //モジュレータに対してのみデフォルト値を指定する12.5関数呼び出しには、以下の形式があり得る。       //volume(45.6,12.5)に相当するvolume(34.2,10.4)   //hの値は34.2であり、rの値は10.4実参加型の結合は左から右へと続く。したがって、デフォルトの値を指定するパラメータは、グラフの列の一番右側に置く必要があります。そうでないとエラーが発生します。例えば、void f 1(float a、int b=0、int c、char d=’a’);     //正しくないvoid f 2(float a,int c,int b=0,char d=’a’);     //上のf 2関数を正しく呼び出すと、f 2(3.5、5、3、’x’)/形参の値が全て実参照からf 2(3.5、5、3)という形になります。      //最後のモダリティの値は、標準値’a’f 2(3.5,5)を取る。         //最後の2つの参照の値は、デフォルトのパラメータの関数が呼び出されたときに、実参照の個数とは異なりますが、実参照は指定されていません。この特性を利用して,関数の使用をより柔軟にすることができる。例えば、例4.7は、2つの数または3つの数の中の最大数を求める。関数を積載せずにデフォルトのパラメータを持つ関数に変更することもできます。例4.8は、2つまたは3つの正の整数の最大数を求め、デフォルトのパラメータを持つ関数で実現される。

 #include <iostream>
using namespace std;
int main( )
{int max(int a, int b, int c=0);// , c
int a,b,c;
 cin>>a>>b>>c;
 cout<<″max(a,b,c)=″<<max(a,b,c)<<endl;   // 3
 cout<<″max(a,b)=″<<max(a,b)<<endl;       // 2
 return 0;
}
int max(int a,int b,int c)        //
{if(b>a) a=b;
 if(c>a) a=c;
 return a;
}
の運行状況は以下の通りです。14  -56  135 Lmax(a,b,c)=135