Student 私有成char * name; //姓名, 需要在构造函数中动态分配内存 员 int job; //交作业次数 char prize; //奖励等级(以字符A、B、C表示三个等级,值为0表示无奖励) Student(char *, int , char); //带缺省值的构造函数,参数分别是:姓名, //交作业次数,奖励等级(每个形参的缺省值均为0或NULL)(5分) 公有成Student(Student &); //拷贝构造函数。 (5分) 员 ~Student(); //析构函数,释放动态分配的内存 (5分) void setnamejob(char *, int); //修改姓名和作业次数, //(注意动态分配的内存的处理)(5分) void setprize (); //计算奖励等级,(A—交作业≥20次;B—交作业≥15次且 //不到20次;C—交作业≥10次,不到15次;9次以下无奖励)(10分) void display(); //输出对象的全部数据 (10分) 头文件包含语句为: #include
1) 定义Student类对象A(“Wang”, 22, 0)、B(“Zhao”, 13, 0)、C(A)和D=B(C、D数据由A、B拷贝而来)。 2) 调用函数修改C和D的姓名和作业次数,修改为:
C姓名“Zhang”,作业18次; D姓名“Li”,作业8次。
3) 调用函数setprize 为对象A、B、C和D设置奖励等级(根据交作业次数)。
4) 调用函数display输出对象A、B、C和D的全部数据。每个对象的信息占一行,以A为例,输出格式如下:
101 Wang 交作业22次 奖励等级:A
【提示】构造函数需要为name字符串动态分配内存。其它函数注意动态分配的内存的处理。包含
【注意】 调试完后将源程序以文件名“学号F2.cpp”存入D盘自己的目录中。
6