CPU类打印电脑属性(上)构造函数的定义,类的组合使用

本文详细阐述了计算机类的属性定义、初始化过程以及析构行为,并通过实例展示了CPU、RAM和CD_ROM类的交互作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2009-11-14 14:24

class Computer

{

public:

Computer(Cpu c,Ram r,Cdrom cd)

{

cpu=c;

ram=r;

cdrom=cd;

}

~Computer(){cout<<"Computer class is deconstruct !"<<endl;}

void print(Computer p);

private:

Cpu cpu;

Ram ram;

Cdrom cdrom;

};

void Computer::print(Computer p)

{

cout<<"我的电脑属性是:"<<endl;

cout<<"CPU: "<<p.cpu.GetRank()<<"级; "<<p.cpu.GetFre()<<"Hz; "<<p.cpu.GetVol1()<<"V"<<endl;

cout<<"RAM: "<<p.ram.GetRam()<<"型; "<<p.ram.GetVol2()<<"GB; "<<endl;

cout<<"CD_ROM: "<<p.cdrom.GetCd()<<"型; "<<p.cdrom.GetRate()<<"rad/s; "<<endl;

}

int _tmain(int argc, _TCHAR* argv[])

{

Cpu mycpu(P1,1.66,9.7);

mycpu.run();

mycpu.stop();

mycpu.SetRank(P4);mycpu.SetFre(2.2);mycpu.SetVol(11.2);

cout<<mycpu.GetRank()<<"级,"<<mycpu.GetFre()<<"Hz,"<<mycpu.GetVol1()<<"V"<<endl;

Ram myram(DDR2,2);

Cdrom mycdrom(DVD_ROM,7200);

Computer mycom(mycpu,myram,mycdrom);

mycom.print(mycom);

     return 0;

}

运行结果

Cpu is alreadly construct !

Cpu is running !

Cpu is alreadly stop !

4,2.2Hz,11.2V

Ram class is construct !

Cdrom class is construct !

Cpu is deconstruct !

Ram is deconstruct !

Cdrom is deconstruct !

我的电脑属性是:

CPU: 4; 2.2Hz; 11.2V

RAM: 2; 2GB;

CD_ROM: 2; 7200rad/s;

Computer class is deconstruct !

Cdrom is deconstruct !

Ram is deconstruct !

Cpu is deconstruct !

Computer class is deconstruct !

Cdrom is deconstruct !

Ram is deconstruct !

Cpu is deconstruct !

Cdrom is deconstruct !

Ram is deconstruct !

Cpu is deconstruct !

请按任意键继续. . .

第三周 的初步、cpu主板、内存定义组合使用。 目的:掌握定义方法的方式、定义构造函数(有参数/无参数)。组合。 需要:课上已经讲过相关内容并有课堂练习。 内容:导入项目后完成 1、定义内存、cpu主板。 在指定项目中完成 包名:ex.computer 名:Memory,Cpu,Mainboard,Computer,Factory Memory 内存,包含以下属性 type :型,例如”ddr”\”ddr2”\”ddr4”等 speed:速度,例如1333\1600等 voltage:电压,例如”高电压”\”低电压” spec:规格,每条的容量,例如4\8\16 Cpu 处理器,包含以下属性 cores:核心数,如1\2\4等 speed:速度,如2.5\3.5\4.0等 socket:插槽型,例如”am3”\”fm1”\”lga1155”等 Mainboard主板,包含以下属性 socketType:cpu插槽型,例如”am3”\”fm1”\”lga1155”等 memoryType :内存型,例如”ddr”\”ddr2”\”ddr4”等 memorySlotCount:内存条插槽数,如2,4,8等 memoryCapacity:最大支持内存容量,如2,4,8,32等 Computer电脑,包含以下属性: 一块主板 Mainboard mainboard。 一组内存:Memory [] memories 一个处理器:Cpu cpu; 一个“开机”方法:public void start(){} 这个方法打印欢迎信息,然后打印电脑的配置单,需要显示cpu的全部属性,内存总量,内存条数量,内存型,格式可以自定义 Factory 组装工厂,包含一个方法 public static Computer makeComputer(Mainboard mainboard,Memory [] memories,Cpu cpu){} 这个方法返回一个Computer实例,组成computer的配件都在圆括号中。 注意:Cpu插槽主板插槽型不匹配返回null 内存type主板内存型不匹配返回null 单条内存容量大于主板最大支持内存容量返回null 若给定内存条数量大于主板支持内存条数,则以主板支持为准。 2、为前四个添加构造方法每个域的getter、setter,包括初始化全部属性的构造方法默认无参的构造方法,注意,初始化全部属性的构造方法用于测试,很重要。 3、完成后,确认所有属性名称,题干一致,导入测试包 第四周 继承组合的例子(电脑、输入设备、cpu、内存、主板、笔记本电脑、图形界面设备、鼠标、键盘、触控板之间的关系)。 目标:深入理解组合与继承在java语言中的使用。 需要:课上已经讲过相关内容并有课堂练习。 内容:在上一个项目中继续完成 1、实现输入设备、笔记本电脑、图形输入设备、字符输入设备、鼠标、键盘、触控板,修改Computer 项目名称project+日期 包名:ex.computer 名:InputDevice\Laptop\GuiDevice\Mouse\Keyboard\TouchPad “HAS-A”“IS-A” 关系:笔记本电脑电脑的一种,所有电脑都包含主板、CPU、内存输入设备; 输入设备是一个抽象,里面有一个抽象方法input();代表输入方式。 图形输入设备是抽象,继承输入设备; 图形输入设备有独有的属性“Dpi”,即精度。例如1500/2500等 键盘是输入设备,鼠标是图形输入设备,触控板也是图形输入设备; 提示:InputDevice(输入设备,抽象属性:无 方法:public abstract void input(); GuiDevice(图形输入设备)extends(继承)InputDevice(输入设备) 属性:private int dpi; 方法:public abstract void input(); Mouse(鼠标)extends(继承)GuiDevice(图形输入设备) 属性:private String connect;(连接方式,例如“有线”/“无线”/“蓝牙”) 属性:private int buttons;(按键数,例如3/4/5)
最新发布
03-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值