首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。 (1)定义私有数据成员name、street、c
admin
2017-03-22
24
问题
使用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********之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
#include
#defiRe MAXLEN 20
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::IsEqual (char
*ename)
{
//********4********
}
void CEmployee::display()
{
cout << name << " " <<
street<<" ";
cout << city << " "<<
zipcode<<" "<
}
void main(void)
{
CEmployee employee[4]。
{
CEmployee("李伟","兴荣路213号","兰州","413412”,21),
CEmployee("张星","南山街157号","贵州","534670",30),
CEmployee("赵曦","北大街108号","深圳","412440",43),
CEmployee("刘兰","南大街330号","北京","670893",17),
};
for(int i=0;i<4;i++)
employee
.display();
cout<<"\n修改\"张星\"的名字为\"刘新\"\n"<
for(int j=0;j<4;j++)
{
if(employee[j].IsEqual("张星"))
{
employee[j].
alterName("刘新");
employee[j].display();
break;
}
}
}
选项
答案
(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;
解析
(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是否相同,可使用字符串比较函数strcmp0,第4个标识下应添加“return strcmp(name,ename)==0;”。
转载请注明原文地址:https://kaotiyun.com/show/Q9Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序#include<iostream>usingnamespacestd;classA{private:inta;public:
下面关于虚函数的描述中正确的是
关于类和对象描述错误的是
有如下程序#include<iostream.h>intfunc(inta,intb){return(a+b);}voidmain(){intx=2,y=5,
有以下程序#include<iostream.h>voidfun(inta,intb,intc){a=456,b=567,c=678;}voidmain(){
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;
下列工具中为需求分析常用工具的是
请将下列模板类Data补充完整。templateclassData{public:voidput(Tv){val=v;}【】get()//返回数据成员val的值,返回类型不加转换{returnval;}private:T
下面是一个递归函数,其功能是使数组中的元素反序排列。请将函数补充完整。voidreverse(int*a,intsize){if(size
有如下模板声明:templateclassA;下列声明中,与上述声明不等价的是
随机试题
简述经济法学的基本框架。
A.伞形科B.蔷薇科C.桔梗科D.石竹科E.玄参科地榆药材来源于
急性或亚急性皮炎而无渗液者可选用慢性局限性浸润肥厚性皮肤病者可选用
影响因素试验选用的样品是
关于细菌性阴道病的叙述不正确的是()
甲公司2015年度实现净利润350万元,流通在外的普通股加权平均数为500万股,优先股100万股,优先股股息为每股1元,如果2015年末普通股的每股市价为20元,则甲公司的市盈率是()。
按照豪斯的路径——目标理论,老赵的领导行为属于()。从领导技能的角度看,成功的领导需要具备的技能包括()。
2015年2月甲公司销售一批商品给乙公司,开出的增值税专用发票上注明的销售价款为200万元,增值税税额为34万元,货款未收到。由于乙公司到期无力支付款项,2015年6月甲公司同意乙公司将其拥有的一项固定资产(厂房)用于抵偿债务。乙公司固定资产账面原值为20
根据给定资料,回答以下问题。2013年,全国林产品出口644.55亿美元,同比增长9.82%,增幅比上年增加3.18个百分点,占全国商品出口额的2.92%。林产品进口640.88亿美元,同比增加3.45%,增幅比上年增加8.58个百分点,占全国商
CulturalDifferencesbetweenEastandWestI.FactorsleadingtotheculturaldifferencesA.Differentculture【T1】______【T1】_
最新回复
(
0
)