首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2019-06-05
69
问题
使用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全国计算机二级
相关试题推荐
以下函数模板min的功能是返回数组a中最小元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmin(Ta[],intn){Ttemp=a[0];for(inti=1,i<n;i
C++中将两个字符串连接起来组成一个字符串的函数是______。
A、 B、 C、 D、 C软件的生命周期可分为软件定义、软件开发及软件运行维护三个阶段。其中软件定义阶段的主要工作有可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运
函数Min的功能是返回具有n个元素的数组array中的最小值。请将横线处的缺失部分补充完整,使得程序的输出结果为1.24。#include<iostream>usingnamespacestd;template<typename
下列程序的输出结果为-5/8-3/4,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classFraction{//"分数"类public:Fractio
下列程序的输出结果为012,请根据注释将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classTest{public:Test(intA){data=a
实体完整性约束要求关系数据库中元组的______属性值不能为空。
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
C++中的模板分为函数模板和______。
随机试题
循环血量减少,反射性引起ADH释放增加的感受器是()。
有关外科感染的描述,错误的是
患者,男,42岁。因发热、头痛、眼眶痛、腰痛3天,体温在40-、,40.6℃之间,急诊来西安某医院就诊。检查:血压70/40mmHg,脉搏110次/分,面部潮红,眼球结膜充血水肿,软腭有网状充血并有出血点,腋下及胸前见散在出血点,心肺未见异常,双肾区叩击
以下关于设备贷款的说法中错误的是()。
成年男子轻体力劳动者,每日能量推荐摄入量为()kcal。
股票:投资:损失
人力资源规划是指一个管理系统为实施组织发展战略和实现管理目标,根据内外环境及其变化的情况,运用科学的方法对组织人力资源需求和供给进行预测,并在预测的基础上制定相关的政策和措施,以使人力资源供给和需求达到平衡的过程。根据上述定义,下列选项中不属于人力资源规划
阿德勒认为,人格发展的目标是()
ReadthearticlebelowabouthowtosetupshopontheInternet.Foreachquestion3140,writeonewordinCAPITALLETTERSony
BobandMaryorderedallthefollowingEXCEPT_________.
最新回复
(
0
)