简单CPU类设计

定义一个CPU类
属性变量(私有的 private):
(1)枚举类型CPU_Rank变量表示CPU的型号(枚举类型CPU_Rank在类外定义,其元素为i3,i5,i7)
(2)整型变量frequency表示CPU频率
(3)浮点型变量voltage表示CPU电压
成员函数(公有 public):
(1)添加CPU类的两个构造函数:无参(输出“正在默认构造对象”)和带参数的(用初始式列表的方式定义,并输出“正在构造对象”)。
(2)参照教材复制构造函数的例子,添加CPU类的复制构造函数(用初始式列表的方式定义,将对应的参数进行复制,并输出“正在复制构造对象”,)
(3)参照教材析构函数的例子,添加CPU类的析构函数(输出“正在删除对象”)
(1)CPU_Rank GetRank(),用于返回CPU型号
(2)int GetFrequency()函数,用于返回频率值
(3)float GetVoltage()函数,用于返回电压值
(4)SetRank(CPU_Rank r),用于设置类中的CPU_Rank变量
(5)SetFrequency(int f),用于设置类中的frequenc

#include <iostream>

using namespace std;

enum CPU_Rank{i3, i5, i7};

class CPU
{
private:
	CPU_Rank rank; //CPU型号 
	int frequency;   //CPU频率
	float  voltage; //CPU电压 
public:	
	CPU() {cout << "正在默认构造对象" << endl;}
	CPU(CPU_Rank Newrank, int Newfrequency, double Newvoltage) : rank(Newrank), frequency(Newfrequency), voltage(Newvoltage)
	{ cout << "正在构造对象" << endl;	} 
	CPU(CPU &a) : rank(a.rank), frequency(a.frequency), voltage(a.voltage){cout << "正在复制构造对象" << endl;}
	~CPU(){cout << "正在删除对象" << endl;}
	CPU_Rank GetRank() {return rank;}   //用于返回CPU型号
	int GetFrequency() {return frequency;}    //用于返回频率值
	float GetVoltage() {return voltage;}    //用于返回电压值
	void SetRank(CPU_Rank r) {rank = r;}    //用于设置类中的CPU_Rank变量
	void SetFrequency(int f) {frequency = f;}   //用于设置类中的frequency变量
	void SetVoltage(float v) {voltage = v;}    //用于设置类中的voltage变量
    void Print();                             //用于输出CPU类的三个成员的值 
	void Run() {cout << "CPU开始运行!" << endl;} 
	void Stop() {cout << "CPU停止运行!" << endl;}         
};
void CPU::Print()
{
	CPU_Rank a = GetRank();
	int b = GetFrequency();
	float c = GetVoltage();
	
	cout << a << endl << b << endl << c << endl;
}
 //复制函数调用第二种情况
void func2(CPU p)
{
	cout <<  p.GetRank() << endl;
}
//复制函数调用第三种情况 
CPU func3()
{
	CPU a(i3, 600, 6);
	
	return a;
}

int main()
{
	CPU computer1;
	computer1.Print();
	computer1.Run();
	computer1.Stop();
	
	CPU computer2(i5, 1000, 1.46);
	computer2.Print();
	computer2.Run();
	computer2.Stop();
	
	CPU computer3;
	computer3.SetRank(i7);
	computer3.SetFrequency(2000);
	computer3.SetVoltage(1.21);
	
	CPU computer4(computer3);
	computer4.Print();
	
	cout << "复制构造函数其余两种情况" << endl; 
	func2(computer4);      //复制函数调用第二种情况
	CPU a;
	a = func3();  //复制函数调用第三种情况 
	a.Print();
		
	return 0;
} 
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值