实验内容
4.首先定义CPU类(可使用第一题中的CPU类)、RAM类、CDROM类。再定义Computer类;定义私有数据成员cpu、ram、cdrom,定义公有成员函数run、stop,可在其中输出提示信息。在主程序中定义一个Computer的对象,调用其成员函数,观察类对象及其成员变量的构造与析构顺序,以及成员函数的调用。程序名:lab1_2+学号.cpp 。
代码如下:
#include <iostream>
using namespace std;
class CPU{
public:
CPU( ){
cout <<"Construct CPU"<< endl;
}
CPU(CPU &c) {
cout<< "CPU copy constructor"<< endl;
}
~CPU(){cout <<"Destruct CPU"<<endl;}
};
class RAM{
public:
RAM( ){
cout<<"Construct RAM"<<endl;
}
RAM(RAM &p){
cout<<"RAM copy constructor"<<endl;};
~RAM(){cout <<"Destruct RAM"<<endl;}
};
class CDROM{
public:
CDROM( ){
cout<<"Construct CDROM"<<endl;
}
CDROM(CDROM &c){
cout<<"CDROM copy constructor"<<endl;
}
~CDROM(){cout <<"Destruct CDROM"<<endl;}
};
class Computer{
public:
Computer(CPU xcpu,RAM xram, CDROM xcdrom);
Computer(Computer&p);
~Computer(){cout <<"Destruct Computer"<<endl;}
void run();
void stop();
private:
CPU cpu;
RAM ram;
CDROM cdrom;
};
Computer::Computer(CPU xcpu,RAM xram, CDROM xcdrom):cpu(xcpu),ram(xram),cdrom(xcdrom){cout <<"Construct Computer"<<endl;}
Computer::Computer(Computer &p):cpu(p.cpu),ram(p.ram),cdrom(p.cdrom){
cout << "Computer copy constructor"<<endl;
}
int main()
{
CPU acpu;
RAM aram ;
CDROM acdrom ;
Computer acomputer(acpu,aram,acdrom);
Computer bcomputer(acomputer);
return 0;
}