首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2015-05-30
42
问题
使用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全国计算机二级
相关试题推荐
重载一个运算符函数时,其参数表中没有任何参数,这说明该运算是______。
使用fstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。
在函数中,可以用auto、extem、register和static四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
数据库系统的基础是()。
下列类的定义中,有()处语法错误。classBase{publiC:Base(){}Base(inti){data=i;}ptivate:
有如下的对类“X”的说明,其中______是错误的。classX{
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
以下函数模板max的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
下列叙述中不属于结构化程序设计方法的主要原理的是______。
随机试题
变压器油的作用是加强变压器内部的绝缘和散热。()
(2005年第21题)患者长期大量使用糖皮质激素时,下列哪种变化正确
男性,48岁。肝硬化病史5年.半年来腹胀加重,伴有双下肢水肿。下面治疗措施不当的是
焦虑症治疗时最常用的药物是
杨某在s市某电器经营市场因涉嫌携带凶器抢夺,被公安机关当场抓获,并被人民检察院批准逮捕。在侦查阶段,杨某聘请当地著名律师谢某为其辩护。依据刑事诉讼法的规定,下列关于律师谢某诉讼权利的说法正确的有:
【真题(初级)】下列有关审计风险的表述中,正确的是()。
所有投资者可以及时免费获得充分的市场信息,对预期收益率、标准差和证券之间的协方差具有相同的预期值,这体现出CAPM模型中的()假定。
把下面的六个图形分成两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
行列式
Whatdidyoulearnabouttheman?
最新回复
(
0
)