首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成类的构造函数,请在注
admin
2015-07-20
41
问题
使用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全国计算机二级
相关试题推荐
若把类B定义为类A的友元类,则应在类A中加入定义语句【】。
设intx:,则经过______后,语句*px=0;可将x值置为0。
设intf(int);和intg(int);是函数f和g的原形,以下将f作为语句调用的是______。
下列各种函数中,______不是类的成员函数。
数据的逻辑结构有线性结构【】两大类。
若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法。
对定义重载函数的下列要求中,()是错误的。
下面关于继承机制的描述中,不正确的是()。
创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数。下列程序涉及对象数组的创建和单个对象的创建,其输出结果是【】。#include<iostream>usingnamespace
随机试题
患者腹泻清稀,腹痛肠鸣,脘闷食少,恶寒发热,鼻塞头痛,肢体酸痛,舌苔薄白,脉濡缓。治法宜选
对使用甘露醇脱水治疗的患儿的护理措施不包括
阴血不足,火旺气虚所致的自汗盗汗证。宜选心阳不潜,营阴不守所致的盗汗证。宜选
胃阳虚证可见()胃肠气滞证可见()
急性脑综合征的主要症状是
对链球菌引起的上呼吸道感染,临床上应首选的药物是
下列法律责任形式中,属于行政责任的是()。
发展速度素质的方法是()。
马克思主义政治经济学认为,资本家进行生产的目的就是获得剩余价值。其中,超额剩余价值是因个别商品价值低于社会价值而获得的剩余价值。下列选项中,属于超额剩余价值的是()。
NewZealandSeaweedCallusnotweeds;weareflowersofthesea.SectionASeaweedisaparticularlynutritiousfood,whichabs
最新回复
(
0
)