スポンサードリンク
HOME > C++言語 > 省略可能引数について

C++言語 - 省略可能引数について

関数の引数に省略可能な引数を設定する事ができます。

省略可能な引数を持った関数を呼び出す時は、その省略可能引数の部分を

指定しなくても、あらかじめ設定されているデフォルト値が適用されます。

#include <iostream>

using namespace std;

int tasizan(int a, int b, int flg
= 0);

void main(void) {
   int ans_tasizan = 0;

   ans_tasizan = tasizan(20, 5);   // 第3引数を省略

   cout << ans_tasizan << '\n';

   ans_tasizan = tasizan(20, 5, 1);  // 全ての引数を指定

}

int tasizan(int a, int b, int flg) {

   int ans;

   ans = a + b;

   if (flg == 1) {
      cout << ans << '\n';
   }

   return ans;

}


このプログラムは、足し算結果を表示するプログラムです。

関数tasizanは、足し算結果を求める関数です。

また、オプション機能として、第3引数flgの値により、足し算結果の表示も可能です。

関数tasizanには、省略可能引数flgが設定されています。

引数flgの値を指定せずに関数tasizanを呼び出すと、

引数flgには、関数tasizanのプロトタイプ宣言で指定したデフォルト値

代入されます。この場合は、0が代入されます。

また、普通に第3引数を指定して呼び出すと、

通常通りに引数が渡されます。



省略可能引数を用いる場合に注意する点があります。

 1.むやみに省略可能引数を使わず、無理なく自然に使用する事。

 2.省略可能引数は、引数並びの後ろの部分に持ってくる事。


int tasizan(int a, int b, int flg = 0); // 問題なし。
int tasizan(int a, int b = 5, int flg = 0); // 問題なし。
int tasizan(int a = 3, int b = 5, int flg = 0); // 問題なし。
int tasizan(int a, int b
= 5, int flg); // エラー。




スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved