1. 程式人生 > >c++上機實驗五:多型性與虛擬函式

c++上機實驗五:多型性與虛擬函式

實驗目的和要求
1. 理解靜態多型性和動態多型性。
2. 掌握虛擬函式的定義與使用方法。

實驗內容:
1. 定義一個Animal,該類中可以存放動物的名字,並有一個Identity函式用於顯示動物的種類。
2. 定義兩個類Cat和Dog,都繼承自Animal,並重載Identity函式,不但要顯示動物的種類,還要顯示動物的名字。

程式碼

#include<iostream>
using namespace std;

class Animal
{
public:
    virtual void name()
    {
        cout<<"Animal name"
<<endl; } }; class Cat:public Animal { public: virtual void name() { cout<<"Cat name!:miaomiao"<<endl; } public: void Identify(); }; class Dog:public Animal { public: virtual void name() { cout<<"Dog name!:wangwang\n"<<endl; } public
: void Identify(); }; void Cat::Identify() { cout<<"I am a cat!"<<endl; } void Dog::Identify() { cout<<"I am a dog!"<<endl; } int main() { Cat c; c.Identify(); Animal* p=&c; p->name(); Dog d; d.Identify(); Animal* q=&d; q->name(); return
0; }