1.形如:
virtual 返回类型 函数名 (形参表) = 0;
的虚函数,称为纯虚函数或抽象方法,表达一种抽象化的行为概念
2.如果一类含有至少一个纯虚函数,那么该类就是一个抽象类,抽象类不能被实例化为对象
3.除了构造函数和析构函数以外全部成员函数都是纯虚函数的抽象类叫做纯抽象类,亦称接口类
#include <iostream>
using namespace std;
class Animal {
public:
virtual void eat (void) = 0;
virtual void run (void) = 0;
virtual void cry (void) = 0;
};
void zoo (Animal* animal) {
animal->eat ();
animal->run ();
animal->cry ();
}
class Dog : public Animal {
public:
void eat (void) {
cout << "狗吃骨头" << endl;
}
void run (void) {
cout << "狗在奔跑" << endl;
}
void cry (void) {
cout << "狗汪汪叫" << endl;
}
};
class Rabbit : public Animal {
public:
void eat (void) {
cout << "兔子吃萝卜" << endl;
}
void run (void) {
cout << "兔子在跳跃" << endl;
}
void cry (void) {
cout << "兔子在尖叫" << endl;
}
};
int main (void) {
Dog dog;
Rabbit rabbit;
zoo (&dog);
zoo (&rabbit);
return 0;
}