C++ 多态案例三-电脑组装

这篇具有很好参考价值的文章主要介绍了C++ 多态案例三-电脑组装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

案例描述:

电脑主要组成部件为 CPU(用于计算),显卡(用于显示),内存条(用于存储)

将每个零件封装出抽象基类,并且提供不同的厂商生产不同的零件,例如Intel厂商和Lenovo厂商

创建电脑类提供让电脑工作的函数,并且调用每个零件工作的接口

测试时组装三台不同的电脑进行工作文章来源地址https://www.toymoban.com/news/detail-775941.html

分析案例

  1. 需要把零件看成三个抽象类(不需要放任何东西),抽象类就是重写
  2. 把零件组装成一个新类,也就是运用新类包装零件,使用构造函数进行封装
  3. 有不同的厂商进行不同零件的生产,每台电脑可以组装不同的零件,灵活使用
  4. 厂商的零件是对抽象类(父类)的一种实现,子类必须重写抽象类中的虚函数,否则也属于抽象类
【注意事项】
  1. 构造函数中新建的指针要在析构函数中检查是否释放
```C++
#include<iostream>
using namespace std;

//抽象CPU类
class CPU
{
public:
	//抽象的计算函数
	virtual void calculate() = 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->calculate();

		m_vc->display();

		m_mem->storage();
	}

	//提供析构函数 释放3个电脑零件
	~Computer()
	{

		//释放CPU零件
		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; //CPU的零件指针
	VideoCard * m_vc; //显卡零件指针
	Memory * m_mem; //内存条零件指针
};

//具体厂商
//Intel厂商
class IntelCPU :public CPU
{
public:
	virtual void calculate()
	{
		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;
	}
};

//Lenovo厂商
class LenovoCPU :public CPU
{
public:
	virtual void calculate()
	{
		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 * intelMem = new IntelMemory;

	cout << "第一台电脑开始工作:" << endl;
	//创建第一台电脑
	Computer * computer1 = new Computer(intelCpu, intelCard, intelMem);
	computer1->work();
	delete computer1;

	cout << "-----------------------" << endl;
	cout << "第二台电脑开始工作:" << endl;
	//第二台电脑组装
	Computer * computer2 = new Computer(new LenovoCPU, new LenovoVideoCard, new LenovoMemory);;
	computer2->work();
	delete computer2;

	cout << "-----------------------" << endl;
	cout << "第三台电脑开始工作:" << endl;
	//第三台电脑组装
	Computer * computer3 = new Computer(new LenovoCPU, new IntelVideoCard, new LenovoMemory);;
	computer3->work();
	delete computer3;

}

到了这里,关于C++ 多态案例三-电脑组装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 游戏组装电脑配置推荐2023 游戏组装电脑配置推荐2023

    CPU Intel 酷睿i5 10400F 1 ¥880 主板 铭瑄 MS-挑战者 B560M 1 ¥599 内存 玖合32GB(16G×2) DDR4 3200 1 ¥998 固态硬盘 金百达KP260(1TB) 1 ¥419 显卡 Intel Arc A750 8G 1 ¥1919 机箱 航嘉暗影猎手5 1 ¥85 电源 游戏悍将RPO700 1 ¥239 游戏组装电脑怎么搭配更合适这些点很重要 http://www.adiannao.cn/du CPU Intel 酷

    2024年02月10日
    浏览(38)
  • 办公组装机电脑配置清单2023 办公组装电脑配置推荐2023

    CPU Intel 奔腾金牌 G6400 1 ¥499 主板 技嘉H510M H 1 ¥579 内存 金士顿骇客神条FURY 8GB DDR4 2666(HX426C15FB/8) 1 ¥235 固态硬盘 金士顿NV2 NVMe(250GB) 1 ¥189 显卡 昂达GT710典范 1GD3静音版 1 ¥199 机箱 游戏风暴优+ 1 ¥89 电源 金河田战龙RX490 1 ¥99 显示器 金正G2402E 1 ¥409 办公组装电脑怎么搭配

    2024年02月09日
    浏览(73)
  • 电脑组装配件知识

    目录 1.电脑硬件基础知识 1.1CPU 1.2内存 ​编辑 1.3硬盘 1.4主板 1.5显卡 ​编辑 1.6显示器 1.7电源 1.8机箱 2.电脑硬件搭配及选购 2.1硬件搭配原则 2.2怎样查询软件或游戏配置 2.3配件购买注意事项 2.4搭配一台普通办公电脑 3.电脑组装 1.1CPU 1.1.2cpu分类 1.1.3CPU天梯       1.1.4cpu重要参

    2024年02月15日
    浏览(55)
  • 电脑组装教程分享!

    【看到身边的小伙伴组装一台自己的电脑,我也想试试。但是我对电脑并不是很熟悉,不太了解具体的电脑组装步骤,求一份详细的教程!】 电脑已经成为我们日常生活中不可或缺的一部分,但是有时我们需要根据我们自己的需求来组装电脑。在这篇文章中,小编将会分享详

    2023年04月13日
    浏览(61)
  • 电脑的组装与维护

    目录 1.常见概念 2.装机流程 3.电脑硬件选购指标 4.BIOS设置 5.硬盘分区 6.系统性能测试与常见维护 总结 常见的电脑类型 : 1.台式机,一种机箱、显示器、键盘及鼠标等设备分离独立的电脑。 2.笔记本,小型可携带高集成的个人电脑,同价位台式机更便宜。 3.一体机,将主机与

    2024年02月09日
    浏览(38)
  • 教你10分钟组装台式电脑

    今天麻哥的Dell主机到了。我们来看一下如何组装一台台式机。 1. 显示屏电源线 :插到插排上 2. 显示屏HDMI线 :插到主机上,HDMI插口 1. 主机电源线 :长得最大,插到插排上 2. 显示屏HDMI线 :插到主机上,HDMI插口(和一、2.是同一根) 3. 键盘线 :插到主机USB插口 4. 鼠标线

    2024年02月12日
    浏览(46)
  • 新手如何组装一台电脑

    首先,我们要先了解一台电脑的基本构成由哪些? CPU 显卡 主板 散热器 磁盘 内存 电源 机箱 显示器 通常我们需要根据自己对电脑的定位,根据需求和资金确定CPU和显卡 CPU主要有AMD和Intel。 Intel芯片单核能力足够强,标准版通常也能符合需求。AMD和Intel的CPU都是可以超频的,

    2024年02月08日
    浏览(45)
  • 电脑组装好了开机完全没反应?

    现在很多用户都会选择自己组装电脑,但是组装好电脑第一次开机完全没反应,这是怎么回事?下面小编就给大家带来完整的解析,快来看看吧。 电脑组装好了开机完全没反应怎么办? 情况一: 第一是机器内部各部件有接触不良问题,比如最常见的内存接触不好, 解决方法

    2024年02月10日
    浏览(69)
  • 电脑组装与维修06----内存参数选购讲解

    10、CPU处理数据的时候,他只跟内存打交道,显卡也是直接接受CPU管理的

    2024年03月21日
    浏览(51)
  • 组装电脑基础知识之电源

    本系列文章是为准备自己组装台式机的小伙伴写的关于中央处理器CPU、主板、显卡等部分的参考资料。 计算机电源的主要作用是将普通交流电转为直流电,再通过斩波控制电压,将不同的电压分别输出给主板、硬盘等计算机部件。 提示:计算机电源决定着系统的稳定性和寿

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包