问答题
使用VC6打开考生文件夹下的工程test10_3,此工程包含一个源程序文件test10_3.cpp,其中定义了用于表示雇员信息的CEmployee类与表示公司信息的Company类,但这两个类的定义并不完整。请按要求完成下列操作。
(1)定义Cemployee类的私有数据成员name(大小为50的字符数组)和pay(double型数据),分别用于记录雇员姓名和月薪。请在注释“//**1**”之后添加适当的语句。
(2)完成Company类默认构造函数的定义,该构造函数将n值赋值给私有成员nam,并完成指针emp所指的n个 Cemployee对象空间的申请,请在注释“//**2**”之后添加适当的语句。
(3)完成Company类成员函数void Company::add(int code,charname[50],doublepay)的定义,该函数将某一雇员的编号 code、姓名name及月薪pay输入到公司信息中。请在注释“//**3**”之后添加适当的语句。
(4)完成Company类成员函数void Company::print()的定义,使其以“_is paid_RMB for oue month”的格式输出公司内所有员工的月薪信息。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test10_3.cpp清单如下:
#include<iostream.h>
#include<string.h>
class CEmployee
{
public:
void putname(char n[50]){strcpy(name,n);)
void getname(char n[501){strcpy(n,name);)
void putpay(double d){pay=d;)
double getpay(){return pay;)
private:
//**1**
};
class Company
{
private:
CEmployee *emp;
int num;
public:
Company(int n);
void add(int code,Char name[50],double pay);
void print();
}
Company::Company(int n)
{
//**2**
}
void Company::add(int code,Char name[50],double pay)
{
//**3**
}
void Company::print()
{
//**4**
for(int i=0;i<num;i++)
{
(emp+i)->getname(C);
money=(emp+i)->getpay();
cout<<C<<" is paid "<<money<<"
RMB for one month"<<endl;
}
}
void main()
{
Company com(2);
com.add(0,"Jack",200);
com.add(1,"Lee",300);
com.print();
}
【参考答案】
(1) char name[50]; double pay; (2) num=n; emp=new CEmplo......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)