/** 程式的著作權和版本聲明部分* Copyright (c)2013, 煙台大學電腦學院學生* All rightsreserved.* 檔案名稱:score.cpp * 作 者: 劉元龍 * 完成日期: 2013 年5 月 31 日* 版本號碼: v1.0 * 輸入描述:* 問題描述:* 輸出:*/#include<iostream>#include<string>using namespace std;class animal{public: virtual void cry() { cout<<"不知哪種動物,讓我如何學叫?"<<endl; }protected: string name;};//定義老鼠類class mouse :public animal{ public: mouse(string,int); virtual void cry(); protected: int sex;};mouse::mouse(string b,int a){ name=b; sex=a;} void mouse::cry(){ cout<<"我叫"<<name<<",是一隻"; if(sex==1) cout<<"男老鼠,"; else cout<<"女老鼠,"; cout<<"我的叫聲是:吱吱吱!"; cout<<endl;}//定義貓類class cat :public animal{ public: virtual void cry(); cat(string);};cat::cat(string b){ name=b;}void cat::cry(){ cout<<"我叫"<<name<<",是一隻貓,我的叫聲是:喵喵喵!"; cout<<endl;}//定義狗類class dog :public animal{ public: virtual void cry(); dog(string);};dog::dog(string b){ name=b;}void dog::cry(){ cout<<"我叫"<<name<<",是一隻狗,我的叫聲是:WangWang旺!"; cout<<endl;}//定義長頸鹿類class giraffe :public animal{ public: giraffe(string,int); virtual void cry(); protected: int sex;};giraffe::giraffe(string b,int a){ name=b; sex=a;}void giraffe::cry(){ cout<<"我叫"<<name<<",是一隻"; if(sex==1) cout<<"男長頸鹿,"; else cout<<"女長頸鹿,"; cout<<"我脖子太長,發不出聲音!"; cout<<endl;}int main( ){ animal *p; p = new animal(); p->cry(); mouse m1("Jerry",1); p=&m1; p->cry(); mouse m2("Jemmy",2); p=&m2; p->cry(); cat c1("Tom"); p=&c1; p->cry(); dog d1("Droopy"); p=&d1; p->cry(); giraffe g1("Gill",1); p=&g1; p->cry(); return 0;}
運行結果: