首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
admin
2015-07-20
28
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成类的构造函数,请在注释∥********1********后添加适当的语句。
(2)完成构造函数对姓名的赋值,请在注释∥********2********后添加适当的语句。
(3)定义类的友元函数fun(),请在注释∥********3********后添加适当的语句。
(4)补充函数fun()的年龄比较,请在注释∥********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
class Person
{
public:
∥********1********
{
int i;
for(i=0;sUserrName
!=0;i++)
{
m_UserName
=
sUserrName
;
}
∥********2********
m old=nOld;
}
private:
char m-UserName[32];
int m_Old;
∥********3********
};
void fun(char*S,Person&personl,
Person&person2)
{
∥********4********
if( )
{
for(int i=0; personl.
ml--UserName
!=0; i++)
{
S
=personl.m—
UserName
;
s[i+1]=0;
}
}
else
{
for(int i=0;person2.m_
UserName
!=0 ; i++)
{
S
=person2.ml_
UserName
;
s[i+1]=0;
}
}
}
void main()
{
char s[32];
Person p1(“abc”,2 0);
Person p2(“def”,3 0);
fun(s,p1,p2);
cout<
return;
}
选项
答案
(1)添加语句:Person(char*sUserrName,intnOld) (2)添加语句:m UserName[i]=0; (3)添加语句:ffiend void fun(char*S,Person& personl,Person&person2); (4)将“if()”补充完整为:if(personl.m Old> person2.m_Old)
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已定源程序的main主函数开始入手,函数fun是输出年龄较大的姓名,类Person记录了姓名和年龄。
解题思路
(1)题目l要求“完成类的构造函数”。根据“classPerson”语句知道Person为类,所以类Person的构造函数名为Person,根据第1个标识下的大括弧中的语句知道函数中的参数为数组sUserrName存放姓名,整型nOld存放年龄,所以补充构造函数定义为“Person(char*sUserrName,int nOld)”。
(2)题目2要求“完成构造函数对姓名的赋值”。根据(1)中的分析,在第2个标识下补全姓名赋值,即“m_UserName
=0;"。
(3)题目3要求“定义类的友元函数fun()”。在C++中,如果在本类以外的其它地方定义了一个函数,在类体中是用friend对该函数进行声明的,此函数称为本类的友元函数,并且能够调用本类中的成员变量。程序中的fun函数定义为“void fun(char*s,Person&person 1,Person&person2)9P 9所以声明tim()为类Person的友元函数,即这里补全“friend voidfun(char*s,Person&person 1,Person&person2);990
(4)题目4要求“补充函数fun()的年龄比较”。类Person中年龄的变量为m Old,根据C++中类变量的调用格式补充第4个标识下,if判断中的条件语句,即“iffpersonl.m Old>person2.m_Old)”。
转载请注明原文地址:https://kaotiyun.com/show/G3Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在C++中,包含了处理用户控制的文件操作所需的信息是指头文件中的【】。
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
不属于结构化程序设计方法的四条原则是______。
下列各种函数中,______不是类的成员函数。
设有下定义的语句:inta[3][2]={10,20,30,40,50,60};intb[3][2]={10,20,30,40,50,60};则a[1][1]*b[2][1]=【】。
数据的逻辑结构有线性结构【】两大类。
下列对重载函数的描述中,()是错误的。
下列运算符不能用友元函数重载的是()。
编译过程一般分成5个阶段【】、语法分析、错误检查、代码优化和目标代码生成。
随机试题
根据劳动法的规定和劳动关系的性质,下列哪一项纠纷属于劳动争议?()
A.吮拇指B.吮其他指C.吮咬唇D.吮咬颊E.咬物使上、下牙弓狭窄,或形成开颌
45岁男性患者,诊断急性白血病,并发生口腔和皮肤浸润,旗患者最可能的白血病类型是
案例 某地方煤矿生产能力60×104t/a,采用立井上下山开拓方式,中央并列式通风。开采3号煤层,煤层平均厚度2.1m,平均倾角15°,煤层无煤与瓦斯突出危险,自燃倾向性为不易自燃,煤尘有爆炸危险性。矿井井下辅助运输采用无轨胶轮车,主运输采用胶带输送机。
风险等级为R3的基金产品结构较(),过往业绩及净值的历史波动率较(),投资标的流动性较(),投资衍生品以()为目的,估值政策清晰,杠杆不超监管部门规定的标准
小王参加了某公司招工面试,不久,他得知以下消息:(1)公司已决定,他与小陈至少录用一人。(2)公司可能不录用他。(3)公司一定录用他。(4)公司已录用小陈。其中两条消息为真,两条消息为假。如果上述
一场马术表演中共有七个障碍物:一个鸡笼、一道障碍门、两道石墙以及三道栅栏。这七个障碍物从1到7被连续编号,它们的编号和摆放依赖下列条件:(1)任何两道栅栏都不能连续摆放。(2)石墙必须连续摆放。如果有一道栅栏被摆放在3号位,还有一道
设A,B为两个n阶矩阵,下列结论正确的是().
简述你参与的电子政务项目以及你所担任的主要工作。在建设电子政务内网和外网中遇到了哪些困难?你是如何应对和解决的?
If/b-c=5anda+c=35,thena+b=
最新回复
(
0
)