首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、city、
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、city、
admin
2015-07-20
46
问题
使用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相等时返回真,否则为假的功能,请在注释∥********3********之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
#define MAXLEN 2 0
class CEmployee
{
private:
∥********1********
int age;
public:
CEmployee (char*newName,
char *newStreet,char *newCt,
char*newZp,int newAge);
void alterName(char*newName);
void display();
bool IsEqual(char*ename);
};
CEmployee::CEmployee(char
*newName,char *newStreet,char
*newCt,char*newZp,int newAge)
{
∥********2********
age=newAge;
}
void CEmployee::alterName(char
*newName)
{
∥********3********
}
bool CEmployee::I sEqual (cha:*ename)
{
∥********4********
}
void CEmployee::display()
{
cout << name << “ ” <•
street<<“ ”;
cout << city << ¨ ¨<•
zipcode << “ ”<
}
void main(void)
{
CEmployee employee[4]=
{
CEmployee(“李伟”,“兴穿
路213号”,“兰州”,“4 134 12”,21)
CEmployee(“张星”,”南山
街15 7号”,”贵州”,”5 3 4 6 70”,3 0)
CEmployee(”赵曦”,“北大
街10 8号”,“深圳”,“4 1244 0”,43)
CEmployee(”刘兰”,“南大
街3 3 0号”,“北京”,”67 0 8 93 n,17)
};
for(int i=0;i<4;i++)
employee
.display()
cout<<”\n修改\II张星\“的名字
为\”刘新\”\ntt<
for(int j=0;j<4;J++)
{
if(employee[j].IsEqua
(”张星”))
{
employee[j].
alterName(”刘新”);
employee[j].display();
break;
}
}
}
选项
答案
(1)添加语句:char name[MAXLEN],street[MAXLEN],c ity[MAXLEN],z ipcode[MAXLEN]; (2)添加语句: strcpy(name, newName);strcpy(street,newStreet); strcpy(city,newct);strcpy(Zipcode,newZp); (3)添加语句:strcpy(name,newName); (4)添加语句:return strcmp(name,ename)==0 ;
解析
(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);strepy(zipcode,newZp);”。
(3)函数alterName(char*newName)是改变成员变量name的值,即将参数拷贝给name,可利用字符串拷贝函数strcpyO完成拷贝任务,故第3个标识下应添加“strcpy(name,newName);990
(4)IsEqual(char*ename)函数是比较name成员变量和参数newName是否相同,可使用字符串比较函数strcmp0,第4个标识下应添加“return strcmp(name,ename)==0;”。
转载请注明原文地址:https://kaotiyun.com/show/03Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
用二维表来表示实体及实体之间联系的数据模型称为______。
命题“10<m<15或m>20”的C++语言表达式是()。
假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为【】。
要获得一数据或数据类型所占空间的字节数,应使用的操作符是【】。
下述关于break语句的描述中,______是不正确的。
在数据库模型中,通常把网状模型和()称为非关系模型。
下列关于运算符重载的叙述中,正确的是
模板函数的真正代码是在()时候产生。
有如下程序:#include<iostream>usingnamespacestd;classWages{//“工资”类doublebase;//基本工资double
关于关键字class和typename,下列表述正确的是
随机试题
以下哪项不是学习型组织中领导者的任务?()
患者,男,46岁。近中邻面龋坏,不松动,已做根管治疗,曾做银汞合金充填,近中邻面食物嵌塞无法解决,现要求嵌体修复为增强该患者嵌体修复的固位力,下述哪项措施是错误的
男性,37岁。急刹车致使方向盘挤压上腹部16小时,上腹部、腰部及右肩疼痛,持续,伴恶心、呕吐。查体体温38.4℃,上腹部肌紧张明显,有压痛,反跳不明显,无移动性浊音,肠鸣音存在,怀疑胰腺损伤。对明确诊断帮助不大的是
天元公司和地方公司签订建设工程施工合同,约定由地方公司承建天元公司位于A市的写字楼。并在合同中约定了仲裁条款:凡因本合同所发生之一切纠纷,均提交B市仲裁委员会仲裁,但适用C仲裁委员会的仲裁规则。天元公司在后续检查中发现地方公司将工程转包于丙公司,并未按照合
比率智商的定义为()。
雇员是基于(),为获取工资而有义务处于从属地位、为雇主提供劳动的人。
有一项测验由20道单选题组成,每道题有A、B、C、D四个选项。回答正确1道题得2分,回答错误1道题倒扣1分。若20道题全部选择A,得分将为-5分;若全部选B,得分将为4分;若全部选C,得分将为1分。那么该项测验中正确答案为D项的题目有()道。
Thepassageismainlyabout______.Whyisitdifficulttopredictthepossibleeffectsofelectromagneticfieldsonanairplan
根据可变要素的总产量曲线、平均产量曲线和边际产量曲线之间的关系,可将生产划分为三个阶段,任何理性的生产者都会将生产选择在()。
Saks,611FifthAve.(MidtownEast/MurrayHill),near50thSt.,212-753-4000HoursMon-Wed,10am-7pro;Thu.10am-8pro;Fr
最新回复
(
0
)