首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
admin
2015-07-20
32
问题
使用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全国计算机二级
相关试题推荐
以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#defineN3#defineM3intselect(inta[N][M],in
用户的数据视图,也就是用户所见到的数据模式,是______。
假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大______。
在面向对象方法中,类之间共享属性和操作的机制称为【】。
已知在函数func()中语句this->ff=0;与语句ff=0;的效果完全相同。对于这一现象,下列表述中错误的是()。
已知各变量的定义如下inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C++语言语法的表达式是()。
下面关于继承机制的描述中,不正确的是()。
以下程序的执行结果是【】。#include<iostream>#definePI____3.14159constintR=10;voidmain(){doublea,b;ac2*R*PI
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;classTest{public:Test(){cnt++;)~Test(){cnt--;)statici
随机试题
[*]
《诸病源候论》是论述病源和证候诊断的巨著,其作者是
A.托吡卡胺滴眼剂B.拉坦前列素滴眼剂C.氯霉素滴眼剂D.碘苷滴眼剂E.泼尼松龙滴眼剂属于抗病毒药的是
从操作效果来看,道氏理论对小的趋势判断有较大的作用,对长期波动的预测则显得无能为力。()
饮用水要求在流行病学上安全,主要是为了确保不发生()。
公安机关在办理治安案件行使检查权时,必须严格按照以下()要求进行。
印象管理是指人试图控制他人对自己形成的印象的过程。一个人留给他人的印象表明了他人对其的知觉、评价,甚至会使他人形成对其的特定应对方式。因而,为了给他人留下好的印象,得到他人好的评价与对待,人会用一种给他人造成特定印象的方式来自我表现。印象管理的运用,尤其要
“吾见申叔夫子,所谓生死而肉骨也。”(《左传·襄公二十二年》)这句话中,“生死而肉骨”:(暨南大学2016)“骨”的意思是________。
2012年10月真题某县县长在任职四年后的述职大会上说:“‘不偷懒、不贪钱、不贪色、不整人’,今天可以坦然地说,我兑现了四年前在人大会上的承诺。”接着,他总结了四年工作的主要成绩与存在的问题。报告持续了一个多小时。几天后,关于“四不”的
微机的销售广告中“P42.4G/256M/80G”中的2.4G是表示()。
最新回复
(
0
)