首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
admin
2015-07-20
50
问题
使用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://www.kaotiyun.com/show/G3Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在横线处填上适当内容,实现该函数。boolfun(char*str){inti=0,j=0;while(str[j])【】;
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
用户的数据视图,也就是用户所见到的数据模式,是______。
假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大______。
下列各种函数中,______不是类的成员函数。
程序中有如下语句for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组DATA的前5个元素。由此可知,变量p的定义及初始化语句是【】。
下列运算符不能用友元函数重载的是()。
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;classTest{public:Test(){cnt++;)~Test(){cnt--;)statici
已知:doubleA(doubleA){return++a;}和intA(inta){return++a;)是一个函数模板的两个实例,则该函数模板定义为【】。
包容类Contain和内嵌类Embed定义如下:#include<iostream.h>classContain{private:intx;protected:intz;public:
随机试题
美国社会心理学家霍夫斯蒂特提出的衡量不同国家文化差异的标准包括()
在应用建设工程数据库时,往往要对其中的数据进行适当的( )。
与资本性金融工具相比,下列各项中,属于货币性金融工具特点的有()。
从教师个体职业良心形成的角度看,教师的职业良心首先会受到()。
“性相近,习相远”中的“习”指的是()的影响。
对文中所说的“在对待‘科学’的观念上,新人文主义与狭隘人文主义有着本质的区别”,理解正确的一项是()。文中[]应填入的词语是()。
2007年12月31日,中华人民共和国国务院办公厅下发了《国务院办公厅关于限制生产销售使用塑料购物袋的通知》。这份被群众称为“限塑令”的通知明确规定:“从2008年6月1日起,在全国范围内禁止生产、销售、使用厚度小于0.025毫米的塑料购物袋……自2008
教育研究课题的基本类型包括()。
数据结构中,与所使用的计算机无关的是数据的()。
AirbusexpectstooffertheA3XXtoairlinesin1998,andcleliverthefirstaircraftin2003.ThebasicmodelofA3XXcancarr
最新回复
(
0
)