首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2019-06-05
70
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。
(1)定义私有数据成员name、street、city、zipcode和age分别用于表示姓名、街道、城市、邮编、年龄,除年龄是整型外其余都是char型的数据。请在注释//********1********之后添加适当的语句。
(2)完成默认构造函数CEmployee的定义,使其把参数传递给私有数据成员name、street、city、zipcode和age。请在注释//********2********之后添加适当的语句。
(3)完成成员函数alterName(char*newName)的定义。请在注释//********3********之后添加适当的语句。
(4)完成成员函数IsEqual(char*ename)的定义,实现当name相等时返回真,否则为假的功能,请在注释//********4********之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include<iostream.h>
2 #include<string.h>
3 #define MAXLEN 20
4 class CEmployee
5 {
6 private:
7 //********1********
8
9 int age;
10 public:
11 CEmployee (char *newName,char *newStreet,char *newCt,char *newZp,int newAge);
12 void alterName(char*newName);
13 void display();
14 bool IsEqual(char*ename);
15 };
16 CEmpIoyee::CEmployee (char*newName,char *newStreet,char*newCt,char*newZp,int newAge)
17 {
18 //********2********
19
20 age=newAge;
21 }
22 void CEmployee::alterName(char*newName)
23 {
24 //********3********
25
26 }
27 bool CEmployee::IsEqual (char*ename)
28 {
29 //********4********
30
31 }
32 void CEmployee::display()
33 {
34 cout << name << ’’ ’’<<street<<’’ ’’;
35 cout << city << ’’ ’’<<zipcode<<’’ ’’<<age<<end1;
36 }
37 void main(void)
38 {
39 CEmployee employee[4]=
40 {
41 CEmployee(’’李伟’’,’’兴荣路213号’’,’’兰州’’,’’413412’’,21),
42 CEmployee(’’张星’’,’’南山街157号’’,’’贵州’’,’’534670’’,30),
43 CEmployee(’’赵曦’’,’’北大街108号’’,’’深圳’’,’’412440’’,43),
44 CEmployee(’’刘兰’’,’’南大街330号’’,’’北京’’,’’670893’’,17),
45 };
46 for(int i=0;i<4,i++)
47 employee
.display(),
49 cout<<’’\n修改\’’张星\’’的名字为\’’刘新\’’\n’’<<end1;
50 for(int j=0;j<4;j++)
51 {
52 if(employee[j].IsEqual(’’张星’’))
53 {
54 employee[j].alterName(’’刘新’’);
55 employee[j].display();
56 break;
57 }
58 }
59 }
选项
答案
(1)添加语句:char name[MAXLEN],street [MAXLEN], city[MAXLZN],zipcode[MAXLEN]; (2)添加语句:strcpy(name,newName);strcpy(street,newStreet); strcpy(city,newCt);strcpy(zipcode,newZp); (3)添加语句:strcpy(name,newName); (4)添加语句:return strcmp(name,ename)==0;
解析
程序中定义了一个表示雇员的类CEmployee,该类定义了私有数据成员name、street、city、zipcode和age分别用于表示姓名、街道、城市、邮编、年龄,同时定义了四个函数包括构造函数以及三个成员函数,分别实现更改雇员姓名,判断雇员姓名以及显示雇员信息功能。
(1)第1个标识下要求补充类CEmployee的私有数据成员name、street、city、zipcode和age的定义,分别用于表示姓名、街道、城市、邮编、年龄,除年龄是整型外其余都是char型的数据,由主函数内的对象数组可知,name、street、city、zipcode均为字符数组,故第1个标识下应添加“charname[MAXLEN],street[MAXLEN],city[MAXLEN],zipcode[MAXLEN];”。
(2)构造函数完成成员变量的初始化,这里需要给name、street、city、zipcode赋初值,可利用字符串拷贝函数将参数字符串拷贝到成员变量中,第2个标识下应添加“strcpy(name,newName);strcpy(street,newStreet);strcpy(city, newCt);strcpy(zipcode,newZp);”。
(3)函数alterName(char*newName)是改变成员变量name的值,即将参数拷贝给name,可利用字符串拷贝函数strcpy()完成拷贝任务,故第3个标识下应添加“strcpy(name.newName);”。
(4)IsEqual(char*ename)函数是比较name成员变量和参数newName是否相同,可使用字符串比较函数strcmp(),第4个标识下应添加“returnstrcmp(name,ename)==0;”。
转载请注明原文地址:https://www.kaotiyun.com/show/nm8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在公有派生时,派生类中定义的成员函数只能访问原基类的()。A)私有成员、保护成员和公有成员B)保护成员和私有成员C)公有成员和保护成员D)公有成员和私有成员
以下函数模板min的功能是返回数组a中最小元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmin(Ta[],intn){Ttemp=a[0];for(inti=1,i<n;i
执行下列语句后,变量n的值是______。intn=0;for(inti=1;i<=3;i++)for(intj=1;j<<=i;j++)n++;
数据流的类型有______和事务型。
实体完整性约束要求关系数据库中元组的______属性值不能为空。
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
随机试题
超声于左侧附睾头可探及圆形的无回声暗区,边清,如图所示,考虑为
入院后因情绪激动,血压明显升高,严重头痛、意识模糊、抽搐、呕吐等,应考虑诊断诊断已成立,其发病机制为
G3P0孕40周,人流史2次,因第二产程长达2小时行低位产钳助产,胎儿娩出后随即阴道持续不断出血,6~7分钟后胎盘自娩,检查完整,子宫轮廓清,阴道出血不断,色鲜红。该患者产后出血的原因最可能是
肾损伤可有血尿的是
某建设单位2009年11月1日领取了施工许可证。由于特殊原因不能按期开工,故向发证机关申请延期。根据我国《建筑法》的规定,下列关于延期的说法中,不正确的是()。
某收益性资产,效益一直良好,经专业评估人员测定,第一年的预期收益为100万元,以后每年递增10万元。假定资本化率为10%,则该资产的评估价值最接近于()万元。
键盘对于鼠标相当于()对于()
Sevenyearsago,whenIwasvisitingGermany,Imetwithanofficialwhoexplainedtomethatthecountryhadaperfectsolution
管理评审主要是评价管理体系的______。
ThediagramsbelowshowthedevelopmentofthevillageofKelsbeyin1780,1860and2000.Summarisetheinformationbyselec
最新回复
(
0
)