C++定义一个简单的Computer类

/*定义一个简单的Computer类
有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,
有两个公有成员函数run、stop。cpu为CPU类的一个对象,
ram为RAM类的一个对象,cdrom为CDROM类的一个对象,
定义并实现这个类。
2018.4.3
*/
  • 代码如下

#include<iostream>
#include<string>
using namespace std;
class CPU{
public:
    CPU(int sta,string tp);
    CPU(const CPU &ad);
    ~CPU();
    void details();
private:
    int standard;
    string brand;
};
CPU::CPU(int sta,string tp){
    this->standard = sta;
    this->brand = tp;
}
CPU::CPU(const CPU &ad) {
    cout << endl << "Warnning:This Copy constructors.!!!" << endl;
    this->brand = ad.brand;
    this->standard = ad.standard;
}
CPU::~CPU(){

};
void CPU::details(){
    cout << "The details of CPU:" << endl;
    cout << "The brand is " << brand << endl;
    cout << "The standard is " << standard << endl << endl;
}
class RAM{
public:
    RAM(int mem,int bit, string tp);
    RAM(RAM &ad);
    ~RAM();
    void details();
private:
    int memory;
    int bits;
    string brand;
};
RAM::RAM(int mem, int bit, string tp){
    this->memory = mem;
    this->bits = bit;
    this->brand = tp;
}
RAM::RAM(RAM &ad){
    cout << endl << "Warnning:This Copy constructors.!!!" << endl;
    this->memory = ad.memory;
    this->bits =ad.bits;
    this->brand =ad.brand;
}
RAM::~RAM(){

}
void RAM::details(){
    cout << "The details of RAM:" << endl;
    cout << "The brand is " << brand << endl;
    cout << "The memory is " << memory<< endl;
    cout << "The bits are " << bits << endl << endl;
}
class CDROM
{
public:
    CDROM(int st, string bra);
    CDROM(CDROM &ad);
    ~CDROM();
    void details();
private:
    int standard;
    string brand;
};
CDROM::CDROM(int st, string bra){
    this->brand = bra;
    this->standard = st;
}
CDROM::CDROM(CDROM &ad) {
    cout << endl << "Warnning:This Copy constructors.!!!" << endl;
    this->brand = ad.brand;
    this->standard = ad.standard;
}
CDROM::~CDROM(){

}
void CDROM::details(){
    cout << "The details of CDROM:" << endl;
    cout << "The brand is " << brand << endl;
    cout << "The standard is " << standard << endl << endl;
}
class Computer {
public:
    Computer(CPU cp,RAM ra,CDROM cdro);
    Computer(Computer &ad);
    ~Computer();
    void stop();
    void run();
    void details();
private:
    CPU cpu;
    RAM ram;
    CDROM cdrom;
};
Computer::Computer(CPU cp, RAM ra, CDROM cdro):cpu(cp),ram(ra),cdrom(cdro){
    cout << "Computer is OK!" << endl;
}
Computer::Computer(Computer &ad): cpu(ad.cpu), ram(ad.ram), cdrom(ad.cdrom) {
    cout << endl << "Warnning:This Copy constructors.!!!" << endl;
    cout << "Computer is OK!" << endl;
}
Computer::~Computer() {

}
void Computer::run(){
    cout << "Computer is running!" << endl;
}
void Computer::stop(){
    cout << "Computer stoped!" << endl;
}
void Computer::details(){
    cpu.details();
    ram.details();
    cdrom.details();
}
int main(void){
    CPU cp(1,"!@!");
    RAM ra(1024,10,"!#@!$");
    CDROM cd(2561,"$#%$#^");
    Computer cs(cp, ra, cd);
    cs.run();
    cs.details();
    cs.stop();
    return 0;
}
  • 测试截图

     

 

posted @   Chasssser  阅读(1846)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示