首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2019-06-05
49
问题
使用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)私有成员、保护成员和公有成员B)保护成员和私有成员C)公有成员和保护成员D)公有成员和私有成员
下列工具中,不属于结构化分析的常用工具的是()。A)PAD图B)数据字典C)判定树D)数据流图
C++中将两个字符串连接起来组成一个字符串的函数是______。
A、 B、 C、 D、 C软件的生命周期可分为软件定义、软件开发及软件运行维护三个阶段。其中软件定义阶段的主要工作有可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运
下列程序的输出结果为12.324.6,请将横线处的缺失部分补充完整。#include<iostream>usingnamespacestd;classBase{public:Base(intA):id
下列关于析构函数的描述中,错误的是()。A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A)cppB)exeC)objD)lik
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。A)Data+(DatA);B)Dataoperator+{Data};C)Data+operator{Data};D)operator+(Data,D
随机试题
考生文件夹下存在一个数据库文件“samp2.mdb”,里面已经设计好表对象“tStud”、“tCourse”、“tScore”和“tTemp”。试按以下要求完成设计:(1)创建一个查询,查找没有先修课程的课程,显示与该课程有关的学生的“姓名”、“性别”、
某公司2011年及2012年有关财务资料如下:要求:采用因素分析法确定各因素对总资产净利率的影响程度。
设f(x)连续可导,且f(0)=0,f’(0)=1,令φ(x)=求φ’(0).
关于真核生物RNA聚合酶的正确说法是
招标人发出中标通知书应当遵守的规定包括( )。
通用工资核算系统中一般设计有()等数据录入方式。
有的心理学家把问题行为分成问题行为——、问题行为——和社会上的不成熟行为三种类型。
党政分开,是指把党的领导和政府的领导从性质上、职能上、内容上、方式上区别开来。()
=_____________.
他现在是学生。()
最新回复
(
0
)