1. 程式人生 > 其它 >第八章 多型性習題8-5

第八章 多型性習題8-5

題目:
編寫一個哺乳動物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; }

執行結果: