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...」)
 
 
1行: 1行:
 +
[[C PlusPlus#C++からの技術|C++]]に戻る
 +
 +
 
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner">
 
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner">
 
<tr>
 
<tr>
 
<td style="width:1px;"></td>
 
<td style="width:1px;"></td>
<td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++ 引数規定値</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td>
+
<td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++(Cpp) 引数規定値</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
8行: 11行:
 
<br />
 
<br />
 
== '''引数規定値''' ==
 
== '''引数規定値''' ==
 +
 
関数やクラスの引数は、呼び出し時に引数が不足するとエラーになりますが、引数が指定されていない場合の初期値を関数やクラス側で設定しておくことができます。初期値があたえられている関数やクラスであれば、その分だけ引数を省略することができます。複数の引数がある場合、複数の引数に初期値を与えることが出来て、一部の引数だけは初期値を与えずに呼び出し側で、引数を必須とすることが出来ます。但し、引数に規定値がないものとあるものを混同させ、引数が省略できる場合でも、省略できる引数は引数の順番の後ろにまとめる必要があります。これは、引数順序の途中に省略できる引数が指定されても、どの引数が省略されたか判別できないことからも後尾でないと引数の対応がとれないことからも容易に想像できると思います。規定値のことを英語でDefaultと言う事から、デフォルト引数とも呼びます。
 
関数やクラスの引数は、呼び出し時に引数が不足するとエラーになりますが、引数が指定されていない場合の初期値を関数やクラス側で設定しておくことができます。初期値があたえられている関数やクラスであれば、その分だけ引数を省略することができます。複数の引数がある場合、複数の引数に初期値を与えることが出来て、一部の引数だけは初期値を与えずに呼び出し側で、引数を必須とすることが出来ます。但し、引数に規定値がないものとあるものを混同させ、引数が省略できる場合でも、省略できる引数は引数の順番の後ろにまとめる必要があります。これは、引数順序の途中に省略できる引数が指定されても、どの引数が省略されたか判別できないことからも後尾でないと引数の対応がとれないことからも容易に想像できると思います。規定値のことを英語でDefaultと言う事から、デフォルト引数とも呼びます。
 +
  
 
例1 引数省略関数
 
例1 引数省略関数
15行: 20行:
 
   …
 
   …
 
}
 
}
int _tmain(argv[]){
+
int _tmain(int argc, _TCHAR* argv[]){
 
   Function();//省略すると引数規定値で設定されている値が使われる
 
   Function();//省略すると引数規定値で設定されている値が使われる
 
   Function(99);
 
   Function(99);
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
  
 
例2 引数省略関数 宣言部での規定値設定
 
例2 引数省略関数 宣言部での規定値設定
32行: 38行:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
  
 
例3 引数省略関数 宣言部での規定値設定 ファイルが分かれているパターン
 
例3 引数省略関数 宣言部での規定値設定 ファイルが分かれているパターン
 +
 
Function.h
 
Function.h
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
48行: 56行:
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
#include "Function.h"
 
#include "Function.h"
int _tmain(argv[]){
+
int _tmain(int argc, _TCHAR* argv[]){
 
   Function();//省略すると引数規定値で設定されている値が使われる
 
   Function();//省略すると引数規定値で設定されている値が使われる
 
   Function(99);
 
   Function(99);
54行: 62行:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
宣言部でも定義部でもどちらでも引数規定値(デフォルト引数)が利用できますが、どちらかひとつでしか引数の設定はできません。たとえ同じ値を書いていたとしてもコンパイルエラーになります。
 
宣言部でも定義部でもどちらでも引数規定値(デフォルト引数)が利用できますが、どちらかひとつでしか引数の設定はできません。たとえ同じ値を書いていたとしてもコンパイルエラーになります。
 +
  
 
例4 引数省略クラス 宣言部での規定値設定 ファイルが分かれているパターン
 
例4 引数省略クラス 宣言部での規定値設定 ファイルが分かれているパターン
 +
 
DefaultParam.h
 
DefaultParam.h
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
72行: 82行:
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
#include "DefaultParam.h"
 
#include "DefaultParam.h"
int _tmain(argv[]){
+
int _tmain(int argc, _TCHAR* argv[]){
 
   CDefaultParam cdefaultparamInst();//省略すると引数規定値で設定されている値がコンストラクタで使われる
 
   CDefaultParam cdefaultparamInst();//省略すると引数規定値で設定されている値がコンストラクタで使われる
 
   CDefaultParam cdefaultparamInst(99);
 
   CDefaultParam cdefaultparamInst(99);
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
[[C PlusPlus#C++からの技術|C++]]に戻る

2021年2月6日 (土) 00:00時点における最新版



個人用ツール
名前空間

変種
操作
案内
ツールボックス