多态 虚函数

来源:互联网 发布:js 正则匹配数字 编辑:程序博客网 时间:2024/06/05 07:43
#include <iostream>using namespace std;class Animal{string name;public:virtual void eat()  //virtual 虚函数表一个占4个字节 {cout << "动物吃食物" << endl;}virtual void sleep(){cout << "动物休息" << endl;}virtual void shout(){cout << "动物叫" << endl; }};class Cat : public Animal{public:void eat(){cout << "猫吃猫粮" << endl;}void sleep(){cout << "猫在床上谁觉" << endl;  }void shout(){cout << "猫喵喵叫" << endl;}};class Dog : public Animal{public:void eat(){cout << "狗啃骨头" << endl;}void sleep(){cout << "狗在狗窝谁觉" << endl;}void shout(){cout << "旺财旺财" << endl;}};class JiaFei : public Cat{void eat(){cout << "加菲猫爱吃意大利面" << endl;}void sleep(){cout << "加菲猫在沙发上谁觉" << endl;}void shout(){cout << "加菲猫说下午好" << endl;}};class Player{string name;public:Player(string n):name(n){}void play(Animal* p){cout << name << ':' << endl;p->eat();p->sleep();p->shout();}};int main(){Cat c;Dog d;JiaFei j;Player p1("魏军");Player p2("小v"); p1.play(&c);p2.play(&d);p2.play(&j);return 0;}

原创粉丝点击