首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2019-06-05
71
问题
使用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://kaotiyun.com/show/nm8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
下列工具中,不属于结构化分析的常用工具的是()。A)PAD图B)数据字典C)判定树D)数据流图
下列哪种数据模型可以用树形结构来表示实体之间联系()。A)网状模型B)数据模型C)关系模型D)层次模型
下列程序的输出结果为12.324.6,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classBase{public:Base(intA):id
下列程序的输出结果为012,请根据注释将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classTest{public:Test(intA){data=a
实体完整性约束要求关系数据库中元组的______属性值不能为空。
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A)cppB)exeC)objD)lik
C++中的模板分为函数模板和______。
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
随机试题
试述网上产品应当符合的要求。
患者,男性,20岁。铁钉扎伤1周后,出现张口受限、苦笑面容、焦弓反张、抽搐频繁,护理措施不正确的是()。
再贴现政策的优点是()。
法定盈余公积金按照税后利润扣除前两项的10%提取,当累计达到注册资本的( )时可不再提取。
我国某贸易公司A与美国公司B签署出口某大型机械设备的合同,其中大型设备的出口方为A,进口方为B,该大型设备价值500万美元,B公司根据合同先付定金100万美元给予A公司。合同约定A公司在2008年9月将此大型设备通过中国远洋运输公司运至美国某港口。然后由B
发行债券是公司追加资金的需要,它和发行股票筹措的资金都归属于资本金。()
两家保险公司的并购是()。
某日化企业注册资金600万元,2005年度生产经营情况如下:(1)销售收入4500万元;销售成本3000万元;增值税700万元,销售税金及附加80万元。(2)其他业务收入300万元。(3)销售费用500万元,其中含广告费400
2015年第一季度,湖北省实现地区生产总值5487.93亿元,按可比价格计算,同比增长8.5%.比上年同期下降0.7个百分点。其中,农林牧渔业实现增加值421.8亿元,增长2.5%;第一产业增加值415.95亿元,增长2.3%;第二产业增加值2827.03
拉勃维维夫认为,成人思维是一种“实用性思维”,是()
最新回复
(
0
)