
![]() |
|||
| このトピックでは次の用語を覚えます: | |||
|
|||
![]() |
|||
|
例えば、プリンタに文字列を出力する関数と数値を出力する関数を C で作るとしたら、だいたい次のような感じになりますね。 |
|||
|
|||||
|
|||||
|
C を使う場合は、別の関数は当然別の名前になりますね。2つの関数が同じ目的に使われる場合でも、とにかく厳密に違う名前にしなければだめです。 これと同じことを C++ でやる場合は、だいたい次のようになります。 |
|||
|
|||||
|
|||||
|
2つとも同じ名前の関数にできます。こういうのをオーバーロードと言います。同じことをする関数なんだから、同じ名前で当然というわけです。こうすれば、文字列を出力するときと数値を出力するときで違う関数を呼びわける必要がないので、なんだかお気楽です。 |
|||
|
正確に言うと、 異なるパラメータリストで同じ名前の関数を作ること をオーバーロードと言います。パラメータの個数が違うオーバーロードもありです。パラメータの型が同じで戻り値の型だけ違うオーバーロードはできません。 |
|||
|
|||||
|
|||||
(「オブジェクト指向のはなし」は1999年2月から2000年4月にかけて作成されたコンテンツです。)