C++组合类简单问题

(就是一个简单的构造和析构函数啊,不过我的代码不能得到应该有的结果,求助啊)(1)定义四个类:CPU、RAM、CDROM、COMPUTER(2)具体要求1,每个类定义构造... (就是一个简单的构造和析构函数啊,不过我的代码不能得到应该有的结果,求助啊)
(1)定义四个类:CPU、RAM、CDROM、COMPUTER
(2)具体要求
1,每个类定义构造函数和析构函数,如结果图输出
2,每个类分别定义run和stop接口函数
3,COMPUTER为组合类,包含CPU、RAM、CDROM的对象
4,主函数:定义一个COMPUTER对象,并调用run和stop
CPU和RAM的run和stop事件由COMPUTER调用
#include<iostream>
using namespace std;
class CPU
{
public:
CPU()
{
cout<<"构造了一个CPU!"<<endl;
}
void run();
void stop();
~CPU()
{
cout<<"析构了一个CPU!"<<endl;
}
};
void CPU::run()
{
cout<<"CPU开始运行!"<<endl;
}
void CPU::stop()
{
cout<<"CPU停止运行!"<<endl;
}

class RAM
{
public:
RAM()
{
cout<<"构造了一个RAM!"<<endl;
}
void run();
void stop();
~RAM()
{
cout<<"析构了一个RAM!"<<endl;
}
};
void RAM::run()
{
cout<<"RAM开始运行!"<<endl;
}
void RAM::stop()
{
cout<<"RAM停止运行!"<<endl;
}

class CDROM
{
public:
CDROM()
{
cout<<"构造了一个CDROM!"<<endl;
}
void run();
void stop();
~CDROM()
{
cout<<"析构了一个CDROM!"<<endl;
}
};
void CDROM::run()
{
cout<<"CDROM开始运行!"<<endl;
}
void CDROM::stop()
{
cout<<"CDROM停止运行!"<<endl;
}

class COMPUTER
{
public:
COMPUTER()
{
cout<<"构造了一个COMPUTER!"<<endl;
}
void run(CPU,RAM,CDROM);
void stop();
~COMPUTER()
{
cout<<"析构了一个COMPUTER!"<<endl;
}
private:
CPU cpu1;
RAM ram1;
CDROM cdrom1;
};

void COMPUTER::run(CPU C,RAM R,CDROM CD)
{
cout<<"COMPUTER开始运行!"<<endl;
C.run();
R.run();
CD.run();

}

void COMPUTER::stop()
{
cout<<"COMPUTER停止运行!"<<endl;

}
int main()
{
CPU cpu3;
RAM ram3;
CDROM cdrom3;
COMPUTER computer3;
cout<<endl;
computer3.run(cpu3,ram3,cdrom3);
cout<<endl;
computer3.stop();
cout<<endl;
return 0;
}

要求的结果如下图(供参考):
展开
 我来答
liuyuan23
2009-12-08 · TA获得超过565个赞
知道小有建树答主
回答量:511
采纳率:0%
帮助的人:392万
展开全部
//CPU类
class CPU
{
public:
CPU(){
cout<<"构造了一个CPU!"<<endl;
}
void run();
void stop();
~CPU(){
cout<<"析构了一个CPU!"<<endl;
}
};
void CPU::run(){
cout<<"CPU开始运行!"<<endl;
}
void CPU::stop(){
cout<<"CPU停止运行!"<<endl;
}

//RAM类
class RAM
{
public:
RAM()
{
cout<<"构造了一个RAM!"<<endl;
}
void run();
void stop();
~RAM()
{
cout<<"析构了一个RAM!"<<endl;
}
};
void RAM::run(){
cout<<"RAM开始运行!"<<endl;
}
void RAM::stop(){
cout<<"RAM停止运行!"<<endl;
}

//CDROM类
class CDROM
{
public:
CDROM(){
cout<<"构造了一个CDROM!"<<endl;
}
void run();
void stop();
~CDROM(){
cout<<"析构了一个CDROM!"<<endl;
}
};
void CDROM::run(){
cout<<"CDROM开始运行!"<<endl;
}
void CDROM::stop(){
cout<<"CDROM停止运行!"<<endl;
}

//Computer类
class COMPUTER
{
public:
COMPUTER(){
cout<<"构造了一个COMPUTER!"<<endl;
}
~COMPUTER(){
cout<<"析构了一个COMPUTER!"<<endl;
}
void run();
void stop();
private:
CPU C;
RAM R;
CDROM CD;
};

void COMPUTER::run()
{
cout<<"COMPUTER开始运行!"<<endl;
C.run();
R.run();
//CD.run();
}

void COMPUTER::stop()
{
R.stop ();
C.stop();
cout<<"COMPUTER停止运行!"<<endl;
}

int main()
{
COMPUTER computer3;
computer3.run();
computer3.stop();
return 0;
}
运行结果和你预期的完全一样,但代码你自己看一下,不知道是不是你所要求的组合类。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式