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;
}
- 测试截图
C++定义一个简单的Computer类的更多相关文章
- python+selenium之自定义封装一个简单的Log类
python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...
- Python之自定义封装一个简单的Log类
参考:http://www.jb51.net/article/42626.htm 参考:http://blog.csdn.net/u011541946/article/details/70198676 ...
- VC++ 一个简单的Log类
在软件开发中,为程序建立Log日志是很必要的,它可以记录程序运行的状态以及出错信息,方便维护和调试. 下面实现了一个简单的Log类,使用非常简单,仅供参考. // CLogHelper.h : hea ...
- Python+Selenium中级篇之8-Python自定义封装一个简单的Log类《转载》
Python+Selenium中级篇之8-Python自定义封装一个简单的Log类: https://blog.csdn.net/u011541946/article/details/70198676
- CREATE OPERATOR CLASS - 定义一个新的操作符类
SYNOPSIS CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method AS { OPERATOR ...
- 一个简单的c++类的定义和实例化
#include "iostream" #include <string> using namespace std; class mycoach { private: ...
- lua定义一个简单的类
classA.lua: classA = { a = , b = , --__index = classA; }; classA.__index = classA; function classA:n ...
- [转贴]从零开始学C++之STL(二):实现一个简单容器模板类Vec(模仿VC6.0 中 vector 的实现、vector 的容量capacity 增长问题)
首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下: C++ Code 1 2 template < class _Ty, cl ...
- 自己写的一个简单的Tab类
//------------- PS_DOM 功能函数 start----------------var PS_DOM ={ indexOf: function(arr, e){ for(var i= ...
随机推荐
- 【Android】2.0 Android开发环境的搭建——Eclipse
1.0 eclipse,这可不算谷歌开发的,是IBM公司开发的,而且是Java语言写的 2.0 eclipse怎么下.百度“eclipse”,进入eclipse官网 然后,瞎几把下吧……,实在不行百度 ...
- 001Angular2环境准备
01.安装Node.js 和 npm 安装完成后,在命令行依次使用node -v 和 npm -v可以看到版本号. 02.安装cnpm npm需要连接谷歌服务器,国内不能正常使用,需安装cnpm.命令 ...
- stateless函数里面的参数问题
UI组件文件: function Selector({ status1, status2, status3 }){ return (<div><span>demo</sp ...
- 一、选择与安装——Linux学习笔记
A)为什么要用Linux做服务器? 网络理由: 1.linux本身是网络操作系统,支持所有TCP/IP协议,网络功能是内核中六大模块之一 2.linux和unix兼容,unix是早期的服务器霸主,现在 ...
- ZT C++ 重载、覆盖和隐藏的区别
重载.覆盖和隐藏的区别 分类: C++ 学习笔记 学习心得与方法 2013-09-26 11:21 50人阅读 评论(0) 收藏 举报 概念区分 “overload”翻译过来就是:超载,过载,重载,超 ...
- python+pymssql+selenium 获取短信验证码登录(实战练习)
登录页面输入手机号, 获取短信验证码(验证码有10分钟有效期) 1 连接sql server数据库,获取10分钟之内的有效短信验证码 2 页面输入手机号,并获取验证码.若存在有效验证码则输入验证码,若 ...
- 数据结构学习-数组A[m+n]中依次存放两个线性表(a1,a2···am),(b1,b2···bn),将两个顺序表位置互换
将数组中的两个顺序表位置互换,即将(b1,b2···bn)放到(a1,a2···am)前边. 解法一: 将数组中的全部元素(a1,a2,···am,b1,b2,···bn)原地逆置为(bn,bn-1, ...
- Android(java)学习笔记41:Map集合功能概述
1. 下面通过代码引入Map集合: 如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生 ...
- [19/03/17-星期日] 常用类_Calendar日历类&GregorianCalendar公历日历类
一.概念 Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年.月.日.时.分.秒的展示和计算. GregorianCalendar 是 Calendar 的一个具体子类,提 ...
- Hibernate Validator数据校验框架常用注释
使用前先配置maven,加入依赖: <dependency> <groupId>org.hibernate</groupId> <artifactId> ...