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

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. class CPU{
  5. public:
  6. CPU(int sta,string tp);
  7. CPU(const CPU &ad);
  8. ~CPU();
  9. void details();
  10. private:
  11. int standard;
  12. string brand;
  13. };
  14. CPU::CPU(int sta,string tp){
  15. this->standard = sta;
  16. this->brand = tp;
  17. }
  18. CPU::CPU(const CPU &ad) {
  19. cout << endl << "Warnning:This Copy constructors.!!!" << endl;
  20. this->brand = ad.brand;
  21. this->standard = ad.standard;
  22. }
  23. CPU::~CPU(){
  24. };
  25. void CPU::details(){
  26. cout << "The details of CPU:" << endl;
  27. cout << "The brand is " << brand << endl;
  28. cout << "The standard is " << standard << endl << endl;
  29. }
  30. class RAM{
  31. public:
  32. RAM(int mem,int bit, string tp);
  33. RAM(RAM &ad);
  34. ~RAM();
  35. void details();
  36. private:
  37. int memory;
  38. int bits;
  39. string brand;
  40. };
  41. RAM::RAM(int mem, int bit, string tp){
  42. this->memory = mem;
  43. this->bits = bit;
  44. this->brand = tp;
  45. }
  46. RAM::RAM(RAM &ad){
  47. cout << endl << "Warnning:This Copy constructors.!!!" << endl;
  48. this->memory = ad.memory;
  49. this->bits =ad.bits;
  50. this->brand =ad.brand;
  51. }
  52. RAM::~RAM(){
  53. }
  54. void RAM::details(){
  55. cout << "The details of RAM:" << endl;
  56. cout << "The brand is " << brand << endl;
  57. cout << "The memory is " << memory<< endl;
  58. cout << "The bits are " << bits << endl << endl;
  59. }
  60. class CDROM
  61. {
  62. public:
  63. CDROM(int st, string bra);
  64. CDROM(CDROM &ad);
  65. ~CDROM();
  66. void details();
  67. private:
  68. int standard;
  69. string brand;
  70. };
  71. CDROM::CDROM(int st, string bra){
  72. this->brand = bra;
  73. this->standard = st;
  74. }
  75. CDROM::CDROM(CDROM &ad) {
  76. cout << endl << "Warnning:This Copy constructors.!!!" << endl;
  77. this->brand = ad.brand;
  78. this->standard = ad.standard;
  79. }
  80. CDROM::~CDROM(){
  81. }
  82. void CDROM::details(){
  83. cout << "The details of CDROM:" << endl;
  84. cout << "The brand is " << brand << endl;
  85. cout << "The standard is " << standard << endl << endl;
  86. }
  87. class Computer {
  88. public:
  89. Computer(CPU cp,RAM ra,CDROM cdro);
  90. Computer(Computer &ad);
  91. ~Computer();
  92. void stop();
  93. void run();
  94. void details();
  95. private:
  96. CPU cpu;
  97. RAM ram;
  98. CDROM cdrom;
  99. };
  100. Computer::Computer(CPU cp, RAM ra, CDROM cdro):cpu(cp),ram(ra),cdrom(cdro){
  101. cout << "Computer is OK!" << endl;
  102. }
  103. Computer::Computer(Computer &ad): cpu(ad.cpu), ram(ad.ram), cdrom(ad.cdrom) {
  104. cout << endl << "Warnning:This Copy constructors.!!!" << endl;
  105. cout << "Computer is OK!" << endl;
  106. }
  107. Computer::~Computer() {
  108. }
  109. void Computer::run(){
  110. cout << "Computer is running!" << endl;
  111. }
  112. void Computer::stop(){
  113. cout << "Computer stoped!" << endl;
  114. }
  115. void Computer::details(){
  116. cpu.details();
  117. ram.details();
  118. cdrom.details();
  119. }
  120. int main(void){
  121. CPU cp(1,"!@!");
  122. RAM ra(1024,10,"!#@!$");
  123. CDROM cd(2561,"$#%$#^");
  124. Computer cs(cp, ra, cd);
  125. cs.run();
  126. cs.details();
  127. cs.stop();
  128. return 0;
  129. }
  • 测试截图

C++定义一个简单的Computer类的更多相关文章

  1. python+selenium之自定义封装一个简单的Log类

    python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...

  2. Python之自定义封装一个简单的Log类

    参考:http://www.jb51.net/article/42626.htm 参考:http://blog.csdn.net/u011541946/article/details/70198676 ...

  3. VC++ 一个简单的Log类

    在软件开发中,为程序建立Log日志是很必要的,它可以记录程序运行的状态以及出错信息,方便维护和调试. 下面实现了一个简单的Log类,使用非常简单,仅供参考. // CLogHelper.h : hea ...

  4. Python+Selenium中级篇之8-Python自定义封装一个简单的Log类《转载》

    Python+Selenium中级篇之8-Python自定义封装一个简单的Log类: https://blog.csdn.net/u011541946/article/details/70198676

  5. CREATE OPERATOR CLASS - 定义一个新的操作符类

    SYNOPSIS CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method AS { OPERATOR ...

  6. 一个简单的c++类的定义和实例化

    #include "iostream" #include <string> using namespace std; class mycoach { private: ...

  7. lua定义一个简单的类

    classA.lua: classA = { a = , b = , --__index = classA; }; classA.__index = classA; function classA:n ...

  8. [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)

    首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下:  C++ Code  1 2   template < class _Ty, cl ...

  9. 自己写的一个简单的Tab类

    //------------- PS_DOM 功能函数 start----------------var PS_DOM ={ indexOf: function(arr, e){ for(var i= ...

随机推荐

  1. C#学习笔记13

    1.Task概述:Task是对操作系统线程的抽象,目的是使线程池能高效地管理线程的分配和回收,Task使用的底层线程属于一种共享资源,任务需要互相协作,并及时归还线程,以便用相同的共享资源(线程)满足 ...

  2. Java Socket, DatagramSocket, ServerSocketChannel io代码跟踪

    Java Socket, DatagramSocket, ServerSocketChannel这三个分别对应了,TCP, udp, NIO通信API封装.JDK封装了,想跟下代码,看下具体最后是怎么 ...

  3. 关于 document.compatMode

    今天查资料时无意发现一个以前没有注意到过的属性:document.compatMode 经过一番资料的查询后,了解到以下信息: 我们都知道IE有两种盒子模型,在不声明 !DOCTYPE 时是混杂模式 ...

  4. 杂谈spring、springMVC

    一.背景 目前项目组都在用SSM(spring+springMVC+mybatis)开发项目 大家基本都停留在框架的基本使用阶段,对框架的职责并不清晰,导致配置文件出现了不少问题 在这简单讲解一下sp ...

  5. 简单记录一下http请求的7个步骤

    1.建立TCP连接 2.客户端发送请求命令 3.客户端发送请求头信息 4.服务端应答请求,返回版本号和状态码 5.服务端应答头信息 6.服务端向客户端发送数据 7.服务器关闭TCP连接(Connect ...

  6. HTML专题

    1. 在<form><form/>标签里面的<button>标签要设置type="button",否则可能会在点击按钮时自动提交这个表单 2. ...

  7. ZooKeeper 典型应用场景-负载均衡

    负载均衡(Load Balance)是一种相当常见的计算机网络技术,用来对多个计算机(计算机集群).网络连接.CPU.硬盘驱动器或其他资源进行分配负载,以达到优化资源使用.最大化吞吐率.最小化响应时间 ...

  8. wmware共享磁盘redhat 5.8挂载问题

    需要修改参数vi /etc/sysconfig/selinux将SELINUX=enforcing改为SELINUX=disabled,这样重启服务器则不会启动selinux服务 不然重启虚拟机后共享 ...

  9. 初见git和github

    一.我的github helloworld程序的地址:https://github.com/wyf1213/wyf-project1 二.git/github的相关介绍资料 1.github是什么   ...

  10. IOS ASI 请求服务器 总结

    一.发送请求的2个对象 1.发送GET请求:ASIHttpRequest 2.发送POST请求:ASIFormDataRequest* 设置参数// 同一个key只对应1个参数值,适用于普通“单值参数 ...