请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,该文件中定义了用于表示日期的类Date、表示人员的类Person和表示职员的类Staff;程序应当显示:
张小丽123456789012345
但程序中有缺失部分,请按以下提示把缺失部分补充完整:
(1)在“//**1** ****found****”的下方是析构函数定义中的语句,它释放两个指针成员所指向的动态空间。
(2)在“//**2** ****found****”的下方是rename函数中的一个语句,它使指针name指向申请到的足够容纳字符串new_name的空间。
(3)在“//**3** ****found****”的下方是构造函数定义的一个组成部分,其作用是利用参数表中前几个参数对基类Person进行初始化。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。填写的内容必须在一行中完成,否则评分将产生错误。
//proj3.cpp
#include <iostream>
using namespace std;
class Person

char * idcardno;
//用动态空间存储的身份证号
char * name; //用动态空间存储的姓名
bool ismale; //性别:true为男,false为女
public:
Person (const char * pid,const char*pname,bool pmale);
~Person ( )
//**1** **********found**********
______;

const char * getIDCardNO ( ) const return idcardno;
const char * getName ( ) const return name;
void rename (const char * new name);
bool isMale ( ) constreturn ismale;
;
class Staff:public Person

char * department;
double salary;
public:
Staff(const char * id_card_no,const char * p_name,bool is_male,const char * dept,double sal);
~Staff ( ) delete [] department;
const char * getDepartment ( ) const return department;
void setDepartment (const char * d);
double getSalary ( ) const returnsalary;
void setSalary(double s) salary=s;;
Person::Person(const char * id_card_no, const char * p_name, bool is_male):ismale(is_male)

idcardno=new char[strlen(id_card_no)+1];
strcpy(idcardno,id_card_no);
name=new char[strlen (p_name)+1];
strcpy(name,p_name);

void Person : :rename (const char * new_name)

delete []name;
//**2** **********found**********
______;
strcpy(name,new_name);

Staff::Staff (const char * id_card_no, const char * p_name, bool is_male,
//**3** **********found**********
const char * dept,double sal):______

department=new char[strlen(dept)+1];
strcpy(department,dept);
salary=sal;

void Staff::setDepartment(const char*dept)

delete [] department;
department=new char[strlen(dept)+1];
strcpy(department,dept);

int main( )

Staff Zhangsan ("123456789012345","张三",false,"人事部",1234.56);
Zhangsan.rename("张小丽");
cout<<Zhangsan.getName( )<<Zhangsan.getIDCardNO( )<<endl;
return 0;

题库:计算机等级考试 类型:简答题 时间:2017-07-03 14:15:46 免费下载:《问答》Word试卷

请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,该文件中定义了用于表示日期的类Date、表示人员的类Person和表示职员的类Staff;程序应当显示:
张小丽123456789012345
但程序中有缺失部分,请按以下提示把缺失部分补充完整:
(1)在“//**1** ****found****”的下方是析构函数定义中的语句,它释放两个指针成员所指向的动态空间。
(2)在“//**2** ****found****”的下方是rename函数中的一个语句,它使指针name指向申请到的足够容纳字符串new_name的空间。
(3)在“//**3** ****found****”的下方是构造函数定义的一个组成部分,其作用是利用参数表中前几个参数对基类Person进行初始化。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。填写的内容必须在一行中完成,否则评分将产生错误。
//proj3.cpp
#include <iostream>
using namespace std;
class Person

char * idcardno;
//用动态空间存储的身份证号
char * name; //用动态空间存储的姓名
bool ismale; //性别:true为男,false为女
public:
Person (const char * pid,const char*pname,bool pmale);
~Person ( )
//**1** **********found**********
______;

const char * getIDCardNO ( ) const return idcardno;
const char * getName ( ) const return name;
void rename (const char * new name);
bool isMale ( ) constreturn ismale;
;
class Staff:public Person

char * department;
double salary;
public:
Staff(const char * id_card_no,const char * p_name,bool is_male,const char * dept,double sal);
~Staff ( ) delete [] department;
const char * getDepartment ( ) const return department;
void setDepartment (const char * d);
double getSalary ( ) const returnsalary;
void setSalary(double s) salary=s;;
Person::Person(const char * id_card_no, const char * p_name, bool is_male):ismale(is_male)

idcardno=new char[strlen(id_card_no)+1];
strcpy(idcardno,id_card_no);
name=new char[strlen (p_name)+1];
strcpy(name,p_name);

void Person : :rename (const char * new_name)

delete []name;
//**2** **********found**********
______;
strcpy(name,new_name);

Staff::Staff (const char * id_card_no, const char * p_name, bool is_male,
//**3** **********found**********
const char * dept,double sal):______

department=new char[strlen(dept)+1];
strcpy(department,dept);
salary=sal;

void Staff::setDepartment(const char*dept)

delete [] department;
department=new char[strlen(dept)+1];
strcpy(department,dept);

int main( )

Staff Zhangsan ("123456789012345","张三",false,"人事部",1234.56);
Zhangsan.rename("张小丽");
cout<<Zhangsan.getName( )<<Zhangsan.getIDCardNO( )<<endl;
return 0;

请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,该文件中定义了用于表示日期的类Date、表示人员的类Person和表示职员的类Sta

本题关键词:计价表格使用规定,工程使用年限,交付使用计划表,生产工具用具使用费,工具用具使用费,使用费,使用权,三类使用年限,一类使用年限,四类使用年限;

微信扫码获取答案解析
下载APP查看答案解析