第八章 多型性習題8-5
阿新 • • 發佈:2020-12-13
題目:
編寫一個哺乳動物Mammal,再由此派生出狗類Dog,二者都宣告speak()成員函式,該函式在基類中被宣告為虛擬函式。宣告一個Dog類的物件,通過此物件呼叫speak函式,觀察執行結果。
程式碼如下:
#include<iostream>
using namespace std;
class Mammal
{
public:
virtual void speak();
};
void Mammal::speak()
{
cout<<"I am Mammal"<<endl;
}
class Dog:public Mammal
{
public:
virtual void speak();
};
void Dog::speak()
{
cout<<"I am Dog"<<endl;
}
int main()
{
Dog d;
d.speak(); //利用Dog類物件呼叫speak函式,根據同名隱藏規則,呼叫的為Dog類中的函式speak
return 0;
}
執行結果: