sdut 6-2 多態(tài)性與虛函數(shù)
來源:程序員人生 發(fā)布時間:2014-11-22 09:20:02 閱讀次數(shù):3273次
6⑵ 多態(tài)性與虛函數(shù)
Time Limit: 1000ms Memory limit: 65536K 有疑問?點這里^_^
題目描寫
通過本題目的練習(xí)可以掌握多態(tài)性的概念和虛函數(shù)的定義和使用方法
要求定義1個基類Pet,它有1個字符指針型數(shù)據(jù)成員name和1個虛成員函數(shù)Speak()用于輸出pet的叫聲。;派生類Dog和Cat從基類Pet派生而來。他們從基類繼承并重新改寫了speak()函數(shù),分別用于輸出Dog類和Cat類的叫聲(具體輸出內(nèi)容參考示例輸出)。要求利用虛函數(shù)技術(shù)編寫代碼,使得程序能夠輸出下面的內(nèi)容。
輸入
輸出
輸出數(shù)據(jù)共有3行,本題目要求輸出內(nèi)容必須與示例中的相同。
示例輸入
示例輸出
How does a pet speak ?
I am a cat,My name is Tom My sound is miao!miao!
I am a dog,My name is Snoppy My sound is wang!wang!
提示
來源
#include <iostream>
using namespace std;
class Pet
{
public :
virtual void speak()//定義虛函數(shù)
{
cout<<"How does a pet speak ?"<<endl;
}
};
class Cat: public Pet
{
public :
void speak ()
{
cout <<"I am a cat,My name is Tom My sound is miao!miao!"<<endl;
}
};
class Dog : public Pet
{
public :
void speak()
{
cout<<"I am a dog,My name is Snoppy My sound is wang!wang!"<<endl;
}
};
int main()
{
Pet p, *t;//定義Pet類對象的指針t
Cat c;
Dog d;
t = &p;//t指針指向p
t->speak();//調(diào)用p.speak函數(shù)
t = &c;//t指針指向c
t->speak();//調(diào)用c.speak函數(shù)
t = &d;//t指針指向d
t->speak();//調(diào)用d.speak函數(shù)
return 0;
}
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈