谁帮我写个c++呀?

来源:百度知道 编辑:UC知道 时间:2024/06/14 05:08:47
设计一个名为Fan的类,表示一个风扇。这个类包含:
 一个名为speed的int 型数据,表示风扇的转速。其取值有三种:1、2或3,默认在值为1。
 一个名为on的bool型数据域,表示风扇是否开启(默认值为false)。
 一个名为radius的double型数据域,指出风扇的半径(默认值为5)。
 一个名为color的字符串型数据域,指出风扇的颜色(默认值为5)。
 一个无实参构造函数,创建一个默认的风扇。
 所有数据域的访问函数和更改器函数。
画出UML图,实现类。编写一个测试程序,它创造两个fan对象。将第一个表示矩形的转速、半径和颜色分别设置为3、10和yellow,并将它打开。第二个矩形的转速、半径和颜色分别设置为2、5和blue,并将它关闭。调用访问器函数输出风扇的属性。

完整程序如下:

#include <iostream>
using namespace std;
enum Colors {red,green,yellow,blue};
enum Speeds {one,two,three};
class Fan
{
public:
enum Speeds speed;
bool on;
double radius;
enum Colors color;
Fan():speed(three),on(false),radius(5),color(yellow){}
void Start(){on=true;}
void Stop(){on=false;}
};
ostream& operator << (ostream& s,Fan& todo)
{
s<<" Speed : ";
switch (todo.speed)
{
case one: s<<1<<endl;break;
case two: s<<2<<endl;break;
case three: s<<3<<endl;break;
}
s<<"Status : "<<(todo.on?"Running":"Stopped")<<endl;
s<<"Radius : "<<todo.radius<<endl;
s<<" Color : ";
sw