首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
admin
2015-07-20
40
问题
使用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++中,包含了处理用户控制的文件操作所需的信息是指头文件中的【】。
在类中定义和实现的函数称为【】。
诊断和改正程序中错误的工作通常称为【】。
软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。在程序编码阶段进行的测试通常是______。
关于链式存储结构和顺序存储结构的说法正确的是______。
以下程序的执行结果是()。#nclude<iostream.h>template<classT>Tmax(Tx,Ty){retum(x>y?x:y);}voidmain(){cout<<max(2,5)<<","<
下列运算符不能用友元函数重载的是()。
以下程序的执行结果是【】。#include<iostream>#definePI____3.14159constintR=10;voidmain(){doublea,b;ac2*R*PI
已知:doubleA(doubleA){return++a;}和intA(inta){return++a;)是一个函数模板的两个实例,则该函数模板定义为【】。
随机试题
关于肝破裂临床特点的叙述,错误的是
A.5%B.15%C.20%D.40%正常人体细胞外液约占体重的
下述上中切牙冠唇面形态描述中哪个是错误的
脾气虚、脾虚气陷、脾不统血证的共同症状是
下列选项对商标注册的申请人叙述最标准的是( )。
关于工资保障制度,下列哪些表述符合劳动法的规定?
太阳能光热电站通过数以十万计的反光板聚焦太阳能,给高塔顶端的锅炉加热,产生蒸汽,驱动发电机发电。据此完成以下题。若在北回归线上建一太阳能光热电站,其高塔正午影长与塔高的比值为P,则()。
根据以下资料,回答问题。2012年,吉林省全年完成全社会固定资产投资9621.77亿元,比上年增长32.5%,人均投资达到35381元。其中,城镇投资7925.72亿元,增长33.0%;农村投资1696.05亿元,增长30.4%。在城镇固定资产投资中,
在学习游泳之前,我们读了一些有关的书籍,记住了某些动作要领,这是一种记忆类型;以后我们经过不断练习,真正学会了在水中游泳,便形成了另外的一种记忆类型。上述两种记忆类型分别是
Facebookhasbeen【C1】______withfireandhasgotitsfingersburned,again.OnNovember29thAmerica’sFederalTradeCommission
最新回复
(
0
)