C/C++言語では、同じような処理を1つにまとめてしまうことができます。これを関数といいます。見た目は数学の関数と同じです。
今回の要点は以下の通りです。
では、いってみましょう。
では、先ず数学の関数を考えてみましょう。
f(x, y) = 2x + y と定義する。 すると、f(1, 2) = 4 になる。
先ず、関数 f を定義し、次に、その関数を使っています。2 * 1 + 2 = 4 になりますね。
このように、関数にはカッコの中に入れる「引数(ひきすう)」と、計算した答えである「戻り値」があります。このことはC/C++言語でも同じです。
では、これと同じ事をC/C++言語でやってみましょう。
プログラム | 実行結果 |
---|---|
// Func1.cpp #include <iostream.h> int f(int x, int y) { return 2 * x + y; } int main() { cout << "f(1, 2) = " << f(1, 2) << endl; cout << "f(182, 144) = " << f(182, 144) << endl; return 0; } |
f(1, 2) = 4 f(182, 144) = 508 |
先ず、関数は使う前に定義しなければ使えません。それが次の部分です。関数は main の外で定義します。
int f(int x, int y) { return 2 * x + y; }
何かどこかで見たような形ですね。そう、main の部分と同じ形です。実は main も関数の1つなのでした。
最初にある int というのは、戻り値の型です。(型ってなんだという人は、第5章を見て下さい。)この場合、関数は何らかの整数値を返します。
そして、引数に名前が付いていて、型もついています。関数の中身では、引数はこの名前で使います。これを仮引数と呼びます。
そして、f というのが関数の名前です。使える文字は変数と一緒です(第5章を参照)。C言語では関数の名前は他の関数と同じ名前のものがあってはいけません。ですが、C++言語では、関数の名前が同じでも、引数の数や型が違えば違う関数と認められます。
あと、関数にはその中身が必要ですね。それは { } の中に書きます。
で、返す値は return 文で指定します。return の後に返す値を書いて、セミコロンで締めくくります。また、これがあると関数の途中でも関数を終了します。
で、関数が定義できました。では、この関数を使ってみましょう。
f(1, 2)
数学のそれと何ら変わりないですね。この 1 と 2 は実際に関数が呼ばれるときの、実際の引数です。これを仮引数に対して実引数と呼びます。
では、値が 4 になっているか確かめてみましょう。...きちんと 4 になっていますね。
折角ですから、もう1回使ってみましょう。再利用は関数の利点の1つですから。どうせなので、パッと見では答えがすぐ出てこないようなのを入れてみましょう。
f(182, 144)
どうやら答えは 508 のようですね。
このように、関数は繰り返し使用することができます。
今回はこれでお終いです。え? 少し短いって? 関数について話すことはまだもう少しありますが、1回にして話すには長いので、今回はここで打ち切ります。ご了承下さい。
では、今回の要点です。
では、また次回。
Last update was done on 2002.2.11
この講座の著作権はロベールが保有しています