ずいぶん縦長になってしまいました。関数プロトタイプ宣言の所を見てください。 全部show()になっています。しかしかっこ内の引数リストはすべて違いますね。 これで、どの関数が呼ばれたかが区別できるのです。
全部違うshow関数で呼ばれています。
うまく使えば、非常に便利ですがやたらに使うと
後で困ったことが起こる可能性もあります。
何事もほどほどがいいようです。(中庸)
では、もう少しサンプルプログラムを作ってみましょう。
今度は、自作関数をmain関数より先に書きました。 こうすると、プロトタイプ宣言の手間が省けます。 また、coutを使わずprintf関数を使用してみました。 もちろん上のプログラムをCで処理することはできません。 (Cには関数のオーバーロードは認められていない。)#include <stdio.h> void print() { printf("引数はありません\n"); return; } void print(int x) { printf("int型の引数%dです。\n", x); return; } void print(int a, char *b) { printf("引数は%dと「%s」です。\n", a, b); return ; } int main(void) { int a = 10; char *str = "粂井康孝"; print(); print(a); print(a, str); return 0; }
結果は、左の通りです。特別難しいことはないですね。
ただ、これをどのように効果的に使うのかが
もっとも難しい
ですね。
Update Jan/05/1997 By Y.Kumei