zoukankan      html  css  js  c++  java
  • 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;
    }
    
    • 测试截图
  • 相关阅读:
    Vue(小案例_vue+axios仿手机app)_go实现退回上一个路由
    nyoj 635 Oh, my goddess
    nyoj 587 blockhouses
    nyoj 483 Nightmare
    nyoj 592 spiral grid
    nyoj 927 The partial sum problem
    nyoj 523 亡命逃窜
    nyoj 929 密码宝盒
    nyoj 999 师傅又被妖怪抓走了
    nyoj 293 Sticks
  • 原文地址:https://www.cnblogs.com/FlyerBird/p/8995967.html
Copyright © 2011-2022 走看看