C++では、関数の引数に初期値(デフォルト値)を指定することができます。これにより、引数を省略した関数呼び出しが可能となり、コードの可読性や柔軟性が向上します。
この記事では、デフォルト引数の基本的な使い方とその効果について、具体的なサンプルコードとともに解説いたします。
目次
サンプルコード:デフォルト引数を使った関数の定義と呼び出し
#include <iostream>
using namespace std;
// purchaseCar関数の宣言(デフォルト引数を指定)
void purchaseCar(int price = 50);
int main()
{
cout << "1回目は金額を指定して購入します。" << endl;
purchaseCar(120);
cout << "2回目は金額を指定せずに購入します。" << endl;
purchaseCar();
return 0;
}
// purchaseCar関数の定義
void purchaseCar(int price)
{
cout << price << "万円の自動車を購入しました。" << endl;
}
コードの解説
デフォルト引数の宣言
void purchaseCar(int price = 50);
このように、関数の宣言部で引数に初期値を設定します。ここでは price = 50
としているため、関数を引数なしで呼び出した場合、自動的に「50」という値が使用されます。
注意:デフォルト引数は関数の定義ではなく、宣言のみに記述します。
関数の呼び出し例
purchaseCar(120); // 120万円で購入
purchaseCar(); // デフォルト値の50万円で購入
引数あり・なしの両方で呼び出せるため、状況に応じた柔軟な使い方が可能となります。
デフォルト引数のルールと注意点
ルール・注意点 | 内容 |
---|---|
宣言部にのみ記述 | 関数の定義側で指定すると二重定義となる恐れがあります |
複数の引数 | 複数ある場合、右から順にデフォルトを設定する必要があります |
関数のオーバーロード | デフォルト引数とオーバーロードを組み合わせると曖昧になる可能性があります |
実用例:ユーザーに応じた柔軟な処理
- ユーザーが金額を指定した場合はその値を反映
- 指定がなければ、標準的な金額で購入処理を実行
このような柔軟な設計は、ゲーム開発・業務アプリなど多くの場面で役立ちます。
まとめ
- デフォルト引数を使うことで、関数の使い勝手が向上します。
- コードが短くなり、読みやすく保守しやすい構造になります。
- 関数を複数の使い方で柔軟に呼び出したい場合に有効です。