我是靠谱客的博主 怕黑早晨,最近开发中收集的这篇文章主要介绍简单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;
} 

最后

以上就是怕黑早晨为你收集整理的简单CPU类设计的全部内容,希望文章能够帮你解决简单CPU类设计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部