c++上機實驗五:多型性與虛擬函式
阿新 • • 發佈:2019-02-12
實驗目的和要求
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;
}