Cpp 引数規定値 新しいページはコチラ
提供: yonewiki
(ページの作成:「<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> <tr> <td style="width:1px;"></td> <td class="mbox-tex...」) |
(→引数規定値) |
||
9行: | 9行: | ||
== '''引数規定値''' == | == '''引数規定値''' == | ||
関数やクラスの引数は、呼び出し時に引数が不足するとエラーになりますが、引数が指定されていない場合の初期値を関数やクラス側で設定しておくことができます。初期値があたえられている関数やクラスであれば、その分だけ引数を省略することができます。複数の引数がある場合、複数の引数に初期値を与えることが出来て、一部の引数だけは初期値を与えずに呼び出し側で、引数を必須とすることが出来ます。但し、引数に規定値がないものとあるものを混同させ、引数が省略できる場合でも、省略できる引数は引数の順番の後ろにまとめる必要があります。これは、引数順序の途中に省略できる引数が指定されても、どの引数が省略されたか判別できないことからも後尾でないと引数の対応がとれないことからも容易に想像できると思います。規定値のことを英語でDefaultと言う事から、デフォルト引数とも呼びます。 | 関数やクラスの引数は、呼び出し時に引数が不足するとエラーになりますが、引数が指定されていない場合の初期値を関数やクラス側で設定しておくことができます。初期値があたえられている関数やクラスであれば、その分だけ引数を省略することができます。複数の引数がある場合、複数の引数に初期値を与えることが出来て、一部の引数だけは初期値を与えずに呼び出し側で、引数を必須とすることが出来ます。但し、引数に規定値がないものとあるものを混同させ、引数が省略できる場合でも、省略できる引数は引数の順番の後ろにまとめる必要があります。これは、引数順序の途中に省略できる引数が指定されても、どの引数が省略されたか判別できないことからも後尾でないと引数の対応がとれないことからも容易に想像できると思います。規定値のことを英語でDefaultと言う事から、デフォルト引数とも呼びます。 | ||
+ | |||
例1 引数省略関数 | 例1 引数省略関数 | ||
20行: | 21行: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
例2 引数省略関数 宣言部での規定値設定 | 例2 引数省略関数 宣言部での規定値設定 | ||
32行: | 34行: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
例3 引数省略関数 宣言部での規定値設定 ファイルが分かれているパターン | 例3 引数省略関数 宣言部での規定値設定 ファイルが分かれているパターン | ||
+ | |||
Function.h | Function.h | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
54行: | 58行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
宣言部でも定義部でもどちらでも引数規定値(デフォルト引数)が利用できますが、どちらかひとつでしか引数の設定はできません。たとえ同じ値を書いていたとしてもコンパイルエラーになります。 | 宣言部でも定義部でもどちらでも引数規定値(デフォルト引数)が利用できますが、どちらかひとつでしか引数の設定はできません。たとえ同じ値を書いていたとしてもコンパイルエラーになります。 | ||
+ | |||
例4 引数省略クラス 宣言部での規定値設定 ファイルが分かれているパターン | 例4 引数省略クラス 宣言部での規定値設定 ファイルが分かれているパターン | ||
+ | |||
DefaultParam.h | DefaultParam.h | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> |