首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2015-05-30
28
问题
使用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://jikaoti.com/ti/0BE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
每个类______构造函数。
关于运算符重载,下列表述中正确的是()。
阅读下面的程序:#include<iostream.h>voidmain(){intx;cin>>x;if(x++>5)cout<<x<<endl;else
下列情况中,不会调用拷贝构造函数的是()。
定义重载函数时,应在参数个数或参数类型上【】。
关系中的“主键”不允许取空值是指【】约束规则。
下列程序的输出结果是______。#include<iostream.h>voidmain(){inta[]={1,2,3,4,5,6},*p,**q;p=a;q=&p;
在C++语言中,唯一的一个三目运算符是【】。
结构化程序设计的一种基本方法是【】法。
计算机软件是______。
随机试题
一个正方体木块在它的8个角上分别切割一个小正方体,若小正方体的棱长是原来大正方体棱长的1/3,则切完以后图形的体积是大正方体体积的()。
__________是企业化管理成败的关键。
设f(x,y)=,则=________。
DearMr.Mills,InreplytoyourletterofApril20,Iwould【21】toinform(通知)youthattherearea【22】ofbeautifulsummerco
某食品加工企业向卫生局申请卫生许可证,对于该申请,卫生局经过审查后应当如何处理?()
9.某贸易公司于2003年1月1日进口一批货物,海关于当日开出税款缴纳证,交企业纳税。其中关税税款为人民币24000元,增值税税款为人民币35100元,消费税税款为人民币8900元。该公司于1月24日交回税款缴纳证。经核查,实际缴款日期为1月22日。经计
社会工作是一种()。
关于Adhoc的描述中,错误的是()。
BeforehighschoolteacherKimberlyRughgotdowntobusinessatthestartofarecentschoolweek,shejokedwithherstudents
ComingSoon:theNextGreatFluEpidemicThevirusfirstcametoofficials’attentioninabagofdeadchickens.EarlyinMa
最新回复
(
0
)