c++编程题 类与对象
试建立一个类Worker用于描述职工,具体要求如下:
(1)私有数据成员
unsigned int id: 职工号。
char name[11]:姓名
float salary: 工资。(有一符号常量为工资最低值,设为2000)
int level: 技术等级(1~20级),1级为最低,每个等级差别200元
(2)公有成员函数
Worker ( ):构造函数,初始化数据成员为默认值(自动生成职工号,姓名为空,工资默认最低)。
Worker (…):构造函数(自己定义参数),用参数初始化数据成员。参数有各个数据成员。
void setName(...): 设置职工姓名
void infoList( ): 输出职工的各项信息。
void setLevel(...): 修改技术等级level的值。每增加一个等级工作增加200元。
(3)static变量total计算工资总数和函数Average()计算平均工资。
(4)在主程序中定义N(=5)个Worker对象作为测试数据,完成对Worker类和程序的测试。
答案:#include <iostream.h>
#include <string>
class Worker{
private: //1)私有数据成员
unsigned int id;//: 职工号。
char name[11];//:姓名
float salary;//: 工资。(有一符号常量为工资最低值,设为2000)
int level;//: 技术等级(1~20级),1级为最低,每个等级差别200元
public://(2)公有成员函数
Worker()//构造函数,初始化数据成员为默认值(自动生成职工号,姓名为空,工资默认最低)。
{
id = 0;
strcpy(name,"");
salary = 2000;
level = 1;
}
Worker(unsigned ID, char *na, float sal, int lev)//构造函数(自己定义参数),用参数初始化数据成员。参数有各个数据成员。
{
id = ID;
strcpy(name, na);
salary = sal;
level = lev;
}
void setName(char *strname)//: 设置职工姓名
{
strcpy(name,strname);
}
void infoList()//: 输出职工的各项信息。
{
cout << "-----------------------------------" << endl
<< "职工号:" << id << endl
<< "姓名:" << name << endl
<< "工资:" << salary << endl
<< "技术等级:" << level << endl
<< "----------------------------------" << endl;
}
void setLevel(int lev)//: 修改技术等级level的值。每增加一个等级工资增加200元。
{
level = lev;
salary = 2000 + lev * 200;
}
float getSalary()
{
return salary;
}
};
//(3)static变量total计算工资总数和函数Average()计算平均工资。
static float total;
float Average(int n)
{
return (total / n);
}
//(4)在主程序中定义N(=5)个Worker对象作为测试数据,完成对Worker类和程序的测试。
int main()
{
const int N = 5;
int i;
Worker worker[N];
worker[0]=Worker(1,"andy",2000,1);
worker[1]=Worker(2,"steven",3000,6);
worker[2]=Worker(3,"kobe",2600,4);
worker[3]=Worker(4,"Ganett",5000,16);
worker[4]=Worker(5,"Baney",5400,18);
for (i = 0; i < N; i++)
{
worker[i].infoList();
total += worker[i].getSalary();
}
cout << "平均工资是:" << Average(N) << endl;
return 0;
}
//VisualStudio2010亲测可用 #include<iostream>usingnamespacestd; classCircle{public: Circle(doubler=0):radius(r){} doubleArea(){return3.14*radius*radius;} frienddoublePerimeter(constCircle
上一个:跪求C++编程的计算器一个。
下一个:C++编程题目,求高手