问答题

使用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......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)