利用C++的多态写一个电脑组装的具体实现
案例要求:
大致思路:
实现代码:
#include <iostream>
using namespace std;class CPU
{public:virtual void calculator() = 0;//纯虚函数
};class VideoCard
{public:virtual void display() = 0;//纯虚函数
};class Memory
{public:virtual void storage() = 0;//纯虚函数
};class Computer
{public:Computer(CPU* cpu, VideoCard* vc, Memory* mem){m_cpu = cpu;m_vc = vc;m_mem = mem;}void work(){m_cpu->calculator();m_vc->display();m_mem->storage();}~Computer(){if (m_cpu != NULL){delete m_cpu;m_cpu = NULL;}if (m_vc != NULL){delete m_vc;m_vc = NULL;}if (m_mem != NULL){delete m_mem;m_mem = NULL;}}
private:CPU* m_cpu;VideoCard* m_vc;Memory* m_mem;};class IntelCPU : public CPU
{public:virtual void calculator(){cout << "Intel的CPU开始计算了" << endl;}
};class IntelVideoCard : public VideoCard
{public:virtual void display(){cout << "Intel的显卡开始显示了" << endl;}
};class IntelMemory : public Memory
{public:virtual void storage(){cout << "Intel的内存条开始存储了" << endl;}
};class LenovoCPU : public CPU
{public:virtual void calculator(){cout << "Lenovo的CPU开始计算了" << endl;}
};class LenovoVideoCard : public VideoCard
{public:virtual void display(){cout << "Lenovo的显卡开始显示了" << endl;}
};class LenovoMemory : public Memory
{public:virtual void storage(){cout << "Lenovo的内存条开始存储了" << endl;}
};void test01()
{CPU* intelCpu = new IntelCPU;VideoCard* intelCard = new IntelVideoCard;Memory* intelMemory = new IntelMemory;Computer* computer1 = new Computer(intelCpu, intelCard, intelMemory);computer1->work();delete computer1;cout << "---------------------" << endl;Computer* computer2 = new Computer(new LenovoCPU, new LenovoVideoCard ,new LenovoMemory);computer2->work();delete computer2;cout << "---------------------" << endl;Computer* computer3 = new Computer(new LenovoCPU, new IntelVideoCard, new LenovoMemory);computer3->work();delete computer3;
}int main()
{test01();return 0;
}
运行结果:
利用C++的多态写一个电脑组装的具体实现相关推荐
- 【b站黑马程序员C++视频学习笔记-多态案例三-电脑组装】
多态案例三-电脑组装 电脑主要组成部件为CPU(用于计算),显卡(用于显示),内存条(用于存储).把每个零件封装出抽象父类,并且提供不同的厂商生产不同的零件,例如Intel厂商和Lenovo厂商.创建 ...
- 利用python来自己写一个服务器台账统计小工具
利用python来自己写一个服务器台账统计小工具 前言 无奈呀,压力创造成品 背景是这样的,相信在看的各位在管理服务器密码的时候,肯定会有个台账啥的,当然咱也有,但是吧,为了安全期间,不允许出现在服务 ...
- C++多态案例三-电脑组装
C++多态案例三-电脑组装 多态案例三-电脑组装 多态案例三-电脑组装 案例描述: 电脑主要组成部件为 CPU(用于计算),显卡(用于显示),内存条(用于存储) 将每个零件封装出抽象基类,并且提供不同 ...
- 用装饰者模式 动手写一个导弹系统组装功能(滑稽+1)
话接上文,敌人导弹来袭,我们的雷达做出了及时反应,通过观察者模式通知了五大战区做好防御, <用观察者模式 动手写一个导弹预警系统(滑稽)> 现在轮到我们反击了. 目前国防部发布了指示要求我 ...
- c语言写一个电脑程序,C语言实现电脑关机程序
本文实例为大家分享了C语言实现电脑关机的具体代码,供大家参考,具体内容如下 这个是我在网上搜索到的资料,其实也是很简单的. 想使用ESP8266完成这样一个操作--远程关闭电脑,达到人在别的任何地方都 ...
- 利用cookie和jsp写一个简单的登录判断的网页,并获取上次的登录的时间。
要求:因为只是简单制作,没必要连数据库,直接用确定值去判断.然后就是第一次登录的时候需要获取到登录的时间,然后在下次登录的时候将上次获取到的时间输出. 思路:首先第一个,第一次登录的jsp(姑且当做注 ...
- java编写一个动物类_Java编程 实现类的继承与多态 写一个动物类。成员变量为动物的种类,成员方法是动物叫声。...
感觉写得够详细了,如果不懂M我abstract class Animal { //动物的种类用变量n表示 String n; //动物的声音用变量s表示 String s; //在这里声明了一个抽象方 ...
- 用 Python 写一个电脑监控程序
大家好,我是菜鸟哥! 继打游戏.看视频等摸鱼行为被监控后,现在打工人离职的倾向也会被监控.最近有网友表示,所在企业安装了行为感知系统,该系统可以提前获知员工跳槽念头. 一时间,"打工人太难了 ...
- 【Python】三个步骤,写一个电脑监控程序
很多小伙伴说自己的公司在监控自己有没有摸鱼.偷懒.有时候想偷偷懒都会被发现,今天就带大家来解开这神秘的面纱.搞懂了这个,估计你就知道怎么去摸鱼了. 监控键盘 如果公司偷偷在我们的电脑上运行了一个后台进 ...
- 1、 利用AUTO CAD脚本写一个插件,可以读取CAD中的图形公式,并输出为一个Excel计算表格...
对于如何使用AutoCAD脚本编写插件,下面是一些步骤指导: 了解AutoCAD脚本语言,如LISP或AutoLISP,并学会使用它们. 制定插件的功能需求,明确它需要读取的CAD图形公式和输出的Ex ...
最新文章
- Golang——HTTP编程请求和响应实现
- SAP License:Query传输的相关操作
- springboot 关于第三方包 打包问题
- IIS与Tomcat的区别
- 渗透测试(PenTest)基础指南
- mysql5.7企业版下载_MySQL v5.7.20 官方正式版(32/64位 安装版与zip解压版)
- 探索性因子分析和验证性因子分析有什么区别?
- HTML页面浏览历史,浏览历史记录功能
- maya海龟烘焙法线_maya法线烘焙
- dva 配置antd
- 简单三步快速实现内网穿透
- Linux常用指令---系统负载
- python笔记:数据分析的实际应用 工具小记
- 企业全面质量管理的九个阶段
- 爱壁纸hd电脑版|爱壁纸hd电脑版下载
- 无法找到来自源 nvlddmkm 的事件 ID 14 的描述
- 图解网络(三)——IP
- U盘为Linux加速,用u盘启动linux的步骤
- 高仿途牛App下拉顶部滑出更多
- 霸榜多个CV任务!开源仅两天,已收获2.1k star