return0;
}
运行结果:
3.人员信息管理系统:
以一个小型公司的人员管理为例,说明类及成员函数的设计。
提示:
1)类的设计:
某小型公司,需要存储雇员的编号、级别、月薪,并显示全部信息。
根据这些需求,设计一个类employee,在该类中,包括的数据成员有:
编号(intindividualEmpNo)
级别(intgrade)
月薪(floataccumPay)
成员函数有:
设置编号(voidsetEmpNo(intsteps)):
编号顺序加1(利用静
态变量实现)
提取编号(voidgetEmpNo)
晋升级别(voidpromote(intincrement)):
提升的级别由参数
指定
提取级别(intgetGrade)
设置月薪(voidSetAccumPay(floatpa)):
提取月薪(floatGetAccumPay)
构造函数(用于设置数据成员编号、级别和月薪初值)
析构函数
2)整个程序分为两个独立的文档:
employee.h(包含类的定义和类的
实现)和employee.cpp(主函数文件)
3)在主函数main()中创建employee类的两个对象,对它们设计编号、
级别和月薪,并输出每个雇员的基本信息。
程序如下:
#include
usingnamespacestd;
classemployee{
public:
employee(){
individualEmpNo++;
grade=0;
accumPay=0;
}
employee(inta,intb,floatc){
individualEmpNo=a;
grade=b;
accumPay=c;
}
staticintgetEmpNo(){
returnindividualEmpNo;
}
staticvoidsetEmpNo(intsteps){
individualEmpNo=steps;
}
voidpromote(intincrement){
grade+=increment;
}
intgetgrade(){
returngrade;
}
voidSetAccumPay(floatpa){
accumPay=pa;
}
floatGetAccumPay(){
returnaccumPay;
}
~employee(){}
private:
staticintindividualEmpNo;
intgrade;
floataccumPay;
};
intemployee:
:
individualEmpNo=0;voidmain(){
inta,b;
floatc;
cout<<"请输入第一个雇员的编号,级别,月薪"<cin>>a>>b>>c;
employeee1(a,b,c);
/*e1.setEmpNo(a);
e1.promote(b);
e1.SetAccumPay(c);*/
cout<<"请输入第二个雇员的级别,月薪"<cin>>b>>c;
employeee2;
e2.promote(b);
e2.SetAccumPay(c);
cout<<"第一个雇员的信息为:
\n"<<"编号:
"<"<getgrade()<"<cout<<"第二个雇员的信息为:
\n"<<"编号:
"<"<getgrade()<"<运行结果:
4.设计一个类,用来表示直角坐标系中的任意一条线段,成员函数包括输出线段
两个端点的坐标和求该线段的长度,并在main函数中使用这个类。
程序如下:
#include#includeusingnamespacestd;classline{
public:
line(){
x1=0;
y1=0;
x2=0;
y2=0;
}
line(inta,intb,intc,intd){
x1=a;
y1=b;
x2=c;
y2=d;
}
intgetx1(){
returnx1;
}
intgety1(){
returny1;
}
intgetx2(){
returnx2;
}
intgety2(){
returny2;
}
floatlenth(){
returnpow((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1),1/2);
}
private:
intx1,x2,y1,y2;};
voidmain(){
inta,b,c,d;
cout<<"请输入两个点的坐标:
\n";
cin>>a>>b>>c>>d;
linel(a,b,c,d);
cout<}
运行结果: