オーバーロード

オーバーロード

同じ名前の関数を複数定義し、
引数のとり方により、振る舞いを変えることをオーバーロードといいます。

同じ名前の関数でも、引数の 型 個数 を変えて複数実装を書くことができます。


問題

問題1

Bottleクラスのコンストラクタをオーバーロードで複数定義せよ。
また効率を高めるため初期化用関数を用意せよ

コンストラクタ
//引数を指定しない場合容量500ccのボトルを作る
Bottle();
//ボトルの容量を指定する
Bottle(int capacity);
//ボトルの容量とはじめから入っている水の量を指定する
Bottle(int capacity, int volume);
初期化用関数
init(int capacity, int volume);
コンストラクタではinitを呼ぶのみ

※注意:初期容量は一度0で初期化し、pourIn 関数を使い加算すること。

問題2

コンソール上に 指定した文字 で 指定した大木さ の四角形を描くプログラムを作成せよ。
関数にはオーバーロードを用いて以下のような形式で指定できるようにすること。

//*で正方形を描く
drawRect(int side);
//*で長方形を描く
drawRect(int width, int height);
//指定した文字で正方形を描く
drawRect(int side, char c);
//指定した文字で長方形を描く
drawRect(int width, int height, char c);

このクラスはメンバ変数を持つ必要がない
また、関数にstaticをつけると静的関数として
オブジェクトを作らなくても、クラス名::関数名 で直接クラスから実行できる。
静的関数だけを持つクラスを「ユーティリティークラス」という。

問題3

問題2のプログラムはデフォルト引数を使えば短く書くことができる。
書き直してみよう。

testcounter
合計 -
今日 -
昨日 -