題目描述某個動物園內,有老虎、狗、鴨子和豬等動物,動物園的管理員為每個動物都起了乙個名字,並且每個動物都有年齡、體重等資訊。每到餵食的時候,不同的動物都會叫喚(speak)。每種動物的叫喚聲均不同,老虎的叫喚聲是「aooo」,狗的叫喚聲是「wangwang」,鴨子的叫喚聲是「gaga」,豬的叫喚聲是「hengheng」。
定義乙個animal的基類,animal類有函式speak(),並派生老虎、狗、鴨子和豬類,其能發出不同的叫喚聲(用文字資訊輸出叫聲)。
編寫程式,輸入動物名稱、名字、年齡,讓動物園內的各種動物叫喚。
要求:只使用乙個基類指標,指向生成的物件並呼叫方法。
輸入
測試案例的個數
第一種動物的名稱 名字 年齡
第二種動物的名稱 名字 年齡
輸出
輸出相應動物的資訊
如果不存在該種動物,輸出there is no 動物名稱 in our zoo. ,具體輸出參考樣例輸出
樣例輸入
4tiger jumpjump 10
pig piglet 4
rabbit labi 3
duck tanglaoya 8
樣例輸出
hello,i am jumpjump,aooo.
hello,i am piglet,hengheng.
there is no rabbit in our zoo.
hello,i am tanglaoya,gaga.
#include
#include
using
namespace std;
class
animal
virtual
void
speak()
;virtual
~animal()
};class
tiger
:public animal
virtual
void
speak()
};class
dog:
public animal
virtual
void
speak()
};class
duck
:public animal
virtual
void
speak()
};class
pig:
public animal
virtual
void
speak()
};intmain()
if(!strcmp
(animal,
"dog"))
if(!strcmp
(animal,
"duck"))
if(!strcmp
(animal,
"pig"))
if(i==0)
}return0;
}
加字首#include
,
strcmp
(str1,str2)
;
比較字串str1和str2的大小,如果str1小於str2,返回值就<0,反之如果str1大於str2,返回值就》0,如果str1等於str2,返回值就=0.
如果和某乙個具體的字串比較需要加雙引號,如本題的
C 虛函式與多型
1.1 虛函式概念 1.定義 在乙個類的成員函式前面加上virtual關鍵字,則該函式就稱為虛函式。2.如果乙個函式不是類的成員函式,則該函式不能定義為虛函式。即就是類外面不能使用virtual關鍵字 1.2 純虛函式與抽象類 1.純虛函式 在虛函式的後面加上 0 virtual void disp...
c 多型與虛函式
多型按字面的意思就是多種形態。當類之間存在層次結構,並且類之間是通過繼承關聯時,就會用到多型。c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。下面的例項中,基類 shape 被派生為兩個類,如下所示 include using namespace std class sha...
C 多型與虛函式
這一篇介紹一下 c 物件導向三大特徵之一的多型 之前面試某大廠的實習生被問到多型,後來又了解到一些設計模式,才體會到多型的強大,在這裡把對多型的一點點淺顯認識總結一下 虛表 class test cout sizeof test endl test p new test p vfunc 將類指標p強...