随笔- 51  文章- 0  评论- 2  阅读- 14604 
2016年8月18日

第一次写比较长的面向对象,感觉自己是渣渣……

用到了构造函数,析构函数,类的组合。

#include <iostream>
using namespace std;
enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7};
class CPU{
private:
    CPU_Rank rank;
    int frequency;
    float voltage;
public:
    CPU (CPU_Rank r, int f, float v){
        rank=r;
        frequency=f;
        voltage=v;
        cout<<"构造了一个CPU!"<<endl;
    }
    ~CPU() {cout<<"析构了一个CPU!"<<endl;}

    CPU_Rank getRank() const {return rank;}
    int getFrequency() const {return frequency;}
    float getVoltage() const {return voltage;}

    void setRank(CPU_Rank r) {rank=r;}
    void setFrequency(int f) {frequency=f;}
    void setVoltage(float v) {voltage=v;}

    void run() {cout<<"CPU开始运行!"<<endl;}
    void stop() {cout<<"CPU停止运行!"<<endl;}
};

enum RAM_Type {DDR4,DDR3,DDR2};
class RAM{
private:
    int volume;
    int frequency;
    RAM_Type type;
public:
    RAM (RAM_Type t,int v,int f){
        type=t;
        volume=v;
        frequency=f;
        cout<<"构造了一个RAM!"<<endl;
    }
    ~RAM() {cout<<"析构了一个RAM!"<<endl;}

    RAM_Type getType() {return type;}
    int getVolume() {return volume;}
    int getFrequency() {return frequency;}

    void setType(RAM_Type t) {type=t;}
    void setVolume(int v) {volume=v;}
    void setFrequency(int f) {frequency=f;}

    void run() {cout<<"RAM开始运行!"<<endl;}
    void stop() {cout<<"RAM停止运行!"<<endl;}
};

enum CDROM_Interface {SATA,USB};
enum CDROM_Install {external,builtin};
class CDROM{
private:
    CDROM_Interface interface;
    CDROM_Install install;
    int cache;
public:
    CDROM (CDROM_Interface i1, CDROM_Install i2, int c){
        interface=i1;
        install=i2;
        cache=c;
        cout<<"构造了一个CDROM!"<<endl;
    }
    ~CDROM() {cout<<"析构了一个CDROM!"<<endl;}

    CDROM_Interface getInterface() {return interface;}
    CDROM_Install getInstall() {return install;}
    int getCache() {return cache;}

    void setInterface(CDROM_Interface i) {interface=i;}
    void setInstall(CDROM_Install i) {install=i;}
    void setCache(int c) {cache=c;}

    void run() {cout<<"CDROM开始运行!"<<endl;}
    void stop() {cout<<"CDROM停止运行!"<<endl;}
};

class COMPUTER{
private:
    CPU my_cpu;
    RAM my_ram;
    CDROM my_cdrom;
    int storage_size; //GB
    int bandwidth; //MB
public:
    COMPUTER(CPU c, RAM r, CDROM cd, int s, int b);
    ~COMPUTER() {cout<<"析构了一个COMPUTER!"<<endl;}

    void run(){
        my_cpu.run();
        my_ram.run();
        my_cdrom.run();
        cout<<"COMPUTER开始运行!"<<endl;
    }
    void stop(){
        my_cpu.stop();
        my_ram.stop();
        my_cdrom.stop();
        cout<<"COMPUTER停止运行!"<<endl;
    }
};

COMPUTER::COMPUTER(CPU c, RAM r, CDROM cd, int s, int b):my_cpu(c),my_ram(r),my_cdrom(cd){
    storage_size=s;
    bandwidth=b;
    cout<<"构造了一个COMPUTER!"<<endl;
}

int main(){
    CPU a(P6,300,2.8);
    a.run();
    a.stop();
    cout<<"**********"<<endl;

    RAM b(DDR3,1600,8);
    b.run();
    b.stop();
    cout<<"**********"<<endl;

    CDROM c(SATA,builtin,2);
    c.run();
    c.stop();
    cout<<"**********"<<endl;

    COMPUTER my_computer(a,b,c,128,10);
    cout<<"**********"<<endl;
    my_computer.run();
    my_computer.stop();
    cout<<"**********"<<endl;

    return 0;
}
Computer

 

posted @ 2016-08-18 20:50 Sky-Grey 阅读(332) 评论(0) 推荐(0) 编辑
2015年9月28日
摘要: 如何既复习线性代数又复习C语言?#define _CRT_SECURE_NO_WARNINGS#include #include int main() { float a[100][100],b[100]; int i, j, n; //intro printf("/////... 阅读全文
posted @ 2015-09-28 22:52 Sky-Grey 阅读(140) 评论(0) 推荐(0) 编辑
2015年7月3日
摘要: 7.2 做题一遍就过的感觉简直太美好啦~然而我并没有测试数据QAQ//program name digit#include#includeusing namespace std;int main(){ int a,count=0; cin>>a; while (a>0){ ... 阅读全文
posted @ 2015-07-03 00:00 Sky-Grey 阅读(147) 评论(0) 推荐(0) 编辑
2015年6月30日
摘要: 6.29 今天主要做了一些1.5中的小结和练习,果然换语言思路也要跟着变么…各种不爽啊不爽…scanf各种忘记&,还有各种忘记return 0…averagetemperaturesumsincosdistance7.1 继续做习题…#include#includeint main(){ in... 阅读全文
posted @ 2015-06-30 00:43 Sky-Grey 阅读(188) 评论(0) 推荐(0) 编辑
2015年6月29日
摘要: 终于如愿考上了某大学,然而距离上一次写代码已经过去了半年多…无论进什么系,程序设计都是必修课,而我终于再也没有借口继续依赖老爷车Pascal…愉快地下载了Code::Blocks,翻开书本学起了C…//照着敲一段代码…Page 4#include#includeint main(){ cons... 阅读全文
posted @ 2015-06-29 00:17 Sky-Grey 阅读(146) 评论(0) 推荐(0) 编辑
2014年11月5日
摘要: 如果这次noip没考好,完全是因为从7月29日之后就没有再写过程序了。说起来,真是一个泪流满面的事实…那这样一个弱智题练手恢复代码能力,竟然还花了我两个晚上(当然不是两整个晚上…)第一天TLE了,好在我机智,一看到解题里说要压位就自动脑补出压位了。代码风格非常诡异,弱智题竟然写到2KB我也是醉了。p... 阅读全文
posted @ 2014-11-05 00:07 Sky-Grey 阅读(345) 评论(0) 推荐(0) 编辑
2014年7月23日
摘要: 属于我的费用流版本终于诞生了!想来还有点小激动呢…看了下模板,之后完全按照自己的想象来写,这样在考场上也不怕啦~某人说其实费用流就是把Dinic里的BFS换成SPFA,似乎还是比较有道理的,就是addflow要做一些修改,我第一次的错误就是addflow里的循环写成了while pre[x]st d... 阅读全文
posted @ 2014-07-23 02:44 Sky-Grey 阅读(415) 评论(0) 推荐(0) 编辑
2014年7月22日
摘要: 我就是来复习Dinic算法的,仅10天不写,我已经退化成写一遍+调试需要接近一个小时了,当然其中不乏在网上乱逛的时间…赞成从S源点连一条单向边,反对向T汇点连一条单向边,朋友关系连双向边。但是总感觉自己看到题目不能一下想到这是网络流,感觉这些题都是给一个图,求最优之类。program vote;ty... 阅读全文
posted @ 2014-07-22 02:04 Sky-Grey 阅读(297) 评论(0) 推荐(0) 编辑
2014年7月15日
摘要: 最小覆盖圆算法。看着题解半蒙半抄的搞过去了…主要参考以下http://blog.csdn.net/acdreamers/article/details/9406735http://blog.csdn.net/lthyxy/article/details/6661250http://blog.himd... 阅读全文
posted @ 2014-07-15 20:49 Sky-Grey 阅读(389) 评论(0) 推荐(0) 编辑
2014年7月12日
摘要: 最后两点怎么搞都要30s+,但是我不会什么优化啊…暂时就这样吧。Dinic的时间复杂度是O(N^2*M)这题和TDL的幼儿园模板是一样的。这次写网络流给自己计时了,大约是40min左右,后来都跑去倒腾后面两组数据去了…program profit;type ptype=^node; node... 阅读全文
posted @ 2014-07-12 16:02 Sky-Grey 阅读(182) 评论(1) 推荐(0) 编辑
点击右上角即可分享
微信分享提示