第5講 関数の学習
第2話 関数の作り方

では、関数を作ってみましょう。
関数を作るのは簡単です。
mainの外側で、
void f(){
などと打てば良いのです。
では、次のようにコーティングしてみて下さい。
#include<iostream>
using namespace std;
void f(){
   cout<<"初めての関数"<<endl;
}
void main(){
   f();
}
実行すると、
p
となります。

関数を今回はmainの前に置きました。
mainが社長で他の関数は社員ですから、
mainを前に置きたいですよね。
そこで、順番を逆にして
#include<iostream>
using namespace std;
void main(){
   f();
}
void f(){
   cout<<"初めての関数"<<endl;
}
として、実行してみて下さい。
すると、

..\a.cpp(10) : error C3861: 'f': 識別子が見つかりませんでした

となり、エラーしてしまいます。
社長であるmainを先頭に持ってくる場合は、
#include<iostream>
using namespace std;
void f(); //プロトタイプ宣言
void main(){
   f();
}
void f(){
   cout<<"初めての関数"<<endl;
}
のように、mainの前に使う社員=関数を紹介しておかなければなりません。
社員=関数を紹介することをプロトタイプ宣言といいます。
尚、voidは空という意味で、結果を返しません。
つまり、mainから命じられた仕事だけを遂行し、
その結果については、報告しません。
では、結果を報告する関数を作ってみましょう。
次のようにコーティングを変更して下さい。
#include<iostream>
using namespace std;
void f();
int g();
void main(){
   f();
   cout<<"1+2は"<<g()<<endl;
}
void f(){
   cout<<"初めての関数"<<endl;
}
int g(){
   return(1+2);
}
実行結果は、
q
つまり、g()は1+2の計算を実行してその結果を返しているのです。
w

int g()のintは、返す値が整数型であることを示しいます。
ですから、実数型を返す関数であれば、
float g();
などとプロトタイプ宣言します。

さらに、次のようにコードを変更して下さい。
#include<iostream>
using namespace std;
void f();
int g();
int h(int a);
void main(){
   f();
   cout<<"1+2は"<<g()<<endl;
   cout<<"3の2倍は"<<h(3);
}
void f(){
   cout<<"初めての関数"<<endl;
}
int g(){
   return(1+2);
}
int h(int a){
   return(2*a);
}
実行結果
e

皆さん、この例からなぜ関数といわれるのか、
お分かりですよね。
関数とは
y=f(x)
r
xに値を入れると、値が出て来るものでした。
今はy=h(x)ですから
t
y
u
渡す値を引数といい、返す値を戻り値といいます。
ですから、y=h(x)なら、xの値が引数、yの値が戻り値です。

尚、コーティングは次のように変更しても結果は同じです。
using namespace std;
void f();
int g();
int h(int a);
void main(){
   f();
}
void f(){
   cout<<"初めての関数"<<endl;
   cout<<"1+2は"<<g()<<endl;
   cout<<"3の2倍は"<<h(3);
}
int g(){
   return(1+2);
}
int h(int a){
   return(2*a);
}
つまり、main()がf()に仕事命じ、
f()は、さらにg()とh()に仕事を依頼しています。
main以外の関数も仕事をmain以外の他の関数に仕事を
お願いすることもできるのです。
i
main以外の関数同士は、対等な関係にあり、
互いに仕事を依頼できるのです。
mainが社長であり、他の関数は社員です。
社員同士は互いに仕事を頼めますよね。


第1話へ 第3話へ

a

魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ