第2回レポート課題
- 純粋仮想基底クラスの資料を参考に、複素数データ(直行座標系でも極座標でもよい)の並び替えを行うプログラムを作成せよ。ただし、(1)複素数専用の並び替え関数を作らないこと。(2)複素数用の比較関数を作ること。(3)Object型の並び替え my_sort() を使うこと。
- 生物を表す基底を作成し、以下の機能を持つ派生クラスを作成せよ。
- 生物クラスは、<名前>を持つ。
- 哺乳類クラス(Mammal)に、move() を実行すると、”<名前>は歩く”と表示すること。
- 哺乳類クラスに、spawn() を実行すると、”<名前>は子供を産む”と表示すること。
- 鳥クラス(Bird)に、move() を実行すると、”<名前>は飛ぶ”と表示すること。
- 鳥クラスに、spawn() を実行すると、”<名前>は卵を産む”と表示すること。
- 人間クラス(Human)に move() を実行すると、”<名前>は歩く”と表示されること。
- 人間クラスに spawn() を実行すると、”<名前>は子供を産む”と表示されること。
- にわとりクラス(Chiken)に、move(),spawn() を実行できること。
- かものはしクラス(SeaBream)を作るにはどうすればいいか考察せよ。
class Creature { } ; class Mammal : ...... { } ; class Human : ...... { } ; class Bird : ...... { } ; class Chiken : ...... { } ; int main() { Mammal tama_cat( "tama" ) ; tama_cat.move() ; // tamaは歩く tama_cat.spawn() ; // tamaは子供を産む Human jane_human( "jane" ) ; jane_human.move() ; // janeは歩く jane_human.spawn() ; // janeは子供を産む Bird tori_bird( "tori" ) ; tori_bird.move() ; // toriは飛ぶ tori_bird.spawn() ; // toriは卵を産む Chiken piyo_chiken( "PiyoPiyo" ) ; piyo_chiken.move() ; // PiyoPiyoは飛ぶ piyo_chiken.spawn() ;// PiyoPiyoは卵を産む SeaBream golduck( "golduck" ) ; golduck.move() ; // golduckは歩く golduck.spawn() ; // golduckは卵を産む }