第十三週專案一--動物這樣叫
阿新 • • 發佈:2019-01-08
問題及程式碼:
/* Copyright (c) 2014, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:test.cpp * 作 者:尚 月 * 完成日期:2015年 06 月 05 日 * 版 本 號:v1.0 * * 問題描述: 根據給出的main()函式和執行結果的提示,設計出相關的各個類,注意觀察執行結果,提取出每個類中需要的資料成員,並匹配上需要的成員函式。 * 程式輸入: 無 * 程式輸出: 按要求輸出 */ #include<iostream> #include<string> using namespace std; class Animal { public: virtual void cry() { cout<<"不知哪種動物,讓我如何學叫?"<<endl; } }; class Mouse:public Animal { private: string name; char sex; public: Mouse(string n,char s):name(n),sex(s){}; virtual void cry() { cout<<"我叫"<<name<<",是一隻"<<((sex=='m')?"男":"女")<<"老鼠,我的叫聲是:吱吱吱!"<<endl; } }; class Cat:public Animal { private: string name; public: Cat(string n):name(n){}; virtual void cry() { cout<<"我叫"<<name<<",是一隻貓,我的叫聲是:喵喵喵!"<<endl; } }; class Dog:public Animal { private: string name; public: Dog(string n):name(n) {} virtual void cry() { cout<<"我叫"<<name<<",是一條狗,我的叫聲是:汪汪汪!"<<endl; } }; class Giraffe:public Animal { private: string name; char sex; public: Giraffe(string n,char s):name(n),sex(s){}; virtual void cry() { cout<<"我叫"<<name<<",是"<<((sex=='m')?"男":"女")<<"長頸鹿,因為我脖子太長,發不出聲音來!"<<endl; } }; int main( ){ Animal *p; p = new Animal(); p->cry(); Mouse m1("Jerry",'m'); p=&m1; p->cry(); Mouse m2("Jemmy",'f'); p=&m2; p->cry(); Cat c1("Tom"); p=&c1; p->cry(); Dog d1("Droopy"); p=&d1; p->cry(); Giraffe g1("Gill",'m'); p=&g1; p->cry(); return 0; }
執行結果:
學習總結:給出main()函式以後,就不會無從下手了。。