多态的应用

来源:互联网 发布:java框架是什么 编辑:程序博客网 时间:2024/05/16 07:54
#include<iostream>
using namespace std;


class USB{
public:
virtual void plugin(){cout<<"识别设备"<<endl;}
virtual void work(){cout<<"设备工作"<<endl;}
virtual void stop(){cout<<"设备停止"<<endl;}
};


class USBDisk:public USB{
public:
void plugin(){cout<<"发现新设备"<<endl;}
void work(){cout<<"复制硬盘"<<endl;}
void stop(){cout<<"停止工作"<<endl;}
};


class USBFan:public USB{
public:
void plugin(){cout<<"发现新设备:USB风扇"<<endl;}
void work(){cout<<"启动风扇"<<endl;}
void stop(){cout<<"停止风扇"<<endl;}
};


class Computer:public USB{
public:
void use(USB* p)
{
p->plugin();
p->work();
p->stop();
}
};


class USBCamera:public USB{
public:
void plugin(){cout<<"开始视频"<<endl;}
void work(){cout<<"传送视频"<<endl;}
void stop(){cout<<"停止视频"<<endl;}
};


int main()
{
USBDisk d;
USBFan f;
Computer c;
c.use(&d);
c.use(&f);
USBCamera a;
c.use(&a);
}
0 0