首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2015-05-30
22
问题
使用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
2 #include
3 #define MAXLEN 2 0
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 CEmployee::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 << " "<
36 )
37 void mein(void)
38 {
39 CEmployee employee[4]=
4o {
41 CEmployee("李伟","兴荣路213号","兰州","413412",21),
42 CEmployee("张星","南山街157号","贵州","534670",30),
43 CEmployee("赵曦","北大街108号","深圳","41244 0",43),
44 CEmployee("刘兰","南大街330号","北京","670893",17),
45 };
46
47 for(int i=0;i<4;i++)
48 employee
.display();
49 cout<<"\n修改\"张星\"的名字为\"刘新\"\n"<
50 for(int j=0 ; j<4 ; j++)
51 {
52 if(employee[j].IsEqual ("张星"))
53 {
54 empioyee[j].alterName("刘新");
55
employee[j].display();
56 break;
57 }
58 }
59 }
选项
答案
(1)添加语句:char name[MAXLEN],street[MAXLEN],city[MAXLEN],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个标识下应添加“char name[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,可利用字符串拷贝函数strcpy0完成拷贝任务,故第3个标识下应添加“strcpy(name,newName);990
(4)IsEqual(char*ename)函数是比较name成员变量和参数newName是否相同,可使用字符串比较函数strcmp(),第4个标识下应添加“return strcmp(name,ename)==0;”。
转载请注明原文地址:https://kaotiyun.com/show/pPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
目前,有两种重要的高级语言,分别是结构化程序和【】。
面关于类的静态成员,说法正确的是______。
数据的逻辑独立性是指______。
有以下类定义。classMyClass{private:intid;chargender;char*phone;public:MyClass():id(0),g
下列关于运算符重载的描述中,正确的是()。
关系中的“主键”不允许取空值是指【】约束规则。
在C++语言中,main函数默认返回一个()类型的值。
有以下定义,则此数组的元素中不正确的一个赋值结果是______。staticinta[10]={1,2,3,4,5};
函数模板______。
下面有关重载函数的描述中正确的是
随机试题
A.上内B.下内C.上外D.下外E.内侧上斜肌收缩时,瞳孔转向
只水解β-果糖苷键的酶是( )。只水解β-六碳醛糖苷键的酶是( )。
某报社在一篇新闻报道中,披露未成年人甲是乙的私生子,致使甲备受同学的嘲笑与奚落。甲因精神痛苦,自残左手无名指,给甲的学习和生活造成重大影响。按照我国现行法律,下列对报社的行为定性中,正确的有()。
下列选项中,不属于固体废物特征的是()。
输送气体压力介于0.98~2.94kPa之间的离心式通风机为()。
下列属于投资控制纠偏措施中的组织措施的是()。
以下选项中.属于少年期情绪、情感的特点是()。
某中学举行运动会,孙某报名参加的是初中部男子800米比赛,当孙某跑完800米时,便瘫倒在地上。学校老师和同学见后立即上前扶住,副校长和体育老师立即对孙某进行挤压人中穴及人工按压胸部等急救措施。同时,另一名副校长马上联系医院,大约8至10分钟内,救护车驶到学
下列叙述中正确的是
计算机中数据的表示形式是()。
最新回复
(
0
)