関数の回。再帰関数の話は今回はなし。

 

◆戻り値の無い関数の書き方

//buy関数の定義

void buy(int x)

{

 cout << x <<"万円の車を買いました\n";

}

 

//buy関数の利用

int main()

{

 buy(20);

 return 0;

}

 

※buyの中の20がbuy関数に渡される

 

引数2個も可能 void buy(int x, int y)

引数無しも可能 void buy()

 

◆戻り値のある関数の書き方
//buy関数の定義
int buy(int x)
{
 cout << x <<"万円の車を買いました\n";
 return x;
}
//buy関数の利用
int main()
{
 int sum = buy(20);
 return 0;
}

 

※returnで戻り値を返す

 

インライン関数を使うと処理が早くなることがある

 

◆関数プロトタイプ宣言

関数の呼び出しを先に行って後から関数を定義する場合、

関数の宣言→呼び出し→定義の順に書く必要がある。

デフォルト引数を設定しておくと、引数が指定されてない時にそれを使って計算する。

void buy(int x=10);

但し引数が複数ある場合、1つ引数を指定したらそれより右は全て引数が必要になる。

 

◆関数のオーバーロード

int max(int x, int y)

double max(double x, double y)

引数の方や数が違っていれば、同じ名前の関数を複数定義できることを利用して、複数の場合に対応できる

 

◆関数テンプレート

扱う型だけが異なる関数をひながたから作成

template <class T>

T maxt(T x, T y)

 if(x>y)

  return x;

 else

  return y;

}

 

コンパイルの際に「T」の部分を指定した型(int,doubleなど)に置き換えた関数が作成される。