首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Num2的值为i,请在注释∥*******1********后添加适当的语句。 (2)补充全局函数ran
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Num2的值为i,请在注释∥*******1********后添加适当的语句。 (2)补充全局函数ran
admin
2015-07-20
24
问题
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能:
(1)初始化m Num2的值为i,请在注释∥*******1********后添加适当的语句。
(2)补充全局函数ran()使之能够调用类TestClass的成员变量,请在注释∥********2********后添加适当的语句。
(3)初始化静态变量,请在注释∥********3********后添加适当的语句。
(4)修改注释∥********4********后的语句。
使得程序输出以下内容:
m Num1=1
m Num2=2
m Num3=1
m Num1=4
m Num2=2
m Num3=7
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
#include
C1ass TeStClaSS
{
public:
∥********1********
TestClass(int i,int j)
{
m Numl=i;
m Num3+=i;
}
void Print()
{
cout<<“m—Numl=”<
<
cout<<“m—Num2=”<
<
Cont<<“m Num3=”<
<
}
VOid Add(int i)
{
m Num3+=i;
}
private:
int m Numl;
const int m Num2;
static int m Num3;
∥********2********
};
∥********3********
void fun()
{
TestClass Num(1,2);
Num.m Numl=4;
//********4********
Num.Add();
Num.Print();
}
void main()
{
TeStClass Num(1,2);
Num.Print();
fun();
return;
}
选项
答案
(1)添加语句:TestClass(int i,int j):mNum2(j) (2)添加语句:friend void fun(); (3)添加语句:int TestClass::m Num3=0; (4)将“Num.Add(),”补充完整为:Num.Add(5);
解析
(1)添加语句:TestClass(int i,int j):mNum2(j)
(2)添加语句:friend void fun();
(3)添加语句:int TestClass::m Num3=0;
(4)将“Num.Add(),”补充完整为:Num.Add(5);
@审题分析@在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的main主函数开始入手,可以看出程序通过调用类TestClass和函数fun实现各种输出操作。
解题思路
(1)根据“const int m Num2;”语句知道m Num2为类TestClass中的私有数据,另外,C++定义构造函数的初始化数据成员的方法中可以在原有函数末尾加一个冒号,然后列出参数的初始化表实现,即“TestClass(int i,intj):m_Num2(j)”。
(2)在C++中,如果在本类以外的其他地方定义了一个函数,在类体中是用friend对该函数进行声明的,此函数称为本类的友元函数,并且能够调用本类中的成员变量。程序中fun()在类TestClass以外的地方定义的,为了实现其对类TestClass中成员变量的调用,在类TestClass中补全“friendvoid劬();”,即声明nmO为类TestClass的友元函数。
(3)在C++中,初始化类中数据成员的格式可以是“<类型>类名class::参数=”,其中<类型>为要初始化参数的类型,“::”为作用域符号,说明参数是class中的参数,所以这里补全“int TestClass::m Num3=0;”。
(4)函数fun()中“Num.Add();”语句应该是调用类“TestCiass”中的成员函数“void Add(int i)”。其定义中存在参数int i,所以注释下修改的语句缺少参数。
主函数首先调用“Num.Print();99 9即实现题目中输出的前三条语句,而“fun();”语句实现后面三条语句的输出,即“m Num3=7”才是调用Num.Add的输出结果,即“m Num3+=i;’的计算结果。“TestClass Num(1,2);”中将i的值初始化为1,“m Num3”的值在上一次“Num.Print();”调用中为1,如果计算结果为7,那么Add(int j)中i的初始化值为5,即“Num.Add(5);”
转载请注明原文地址:https://jikaoti.com/ti/aDE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
长度为n的简单插入排序法,最坏情况需要______次比较。
关于链式存储结构和顺序存储结构的说法正确的是______。
下列各种函数中,______不是类的成员函数。
在面向对象方法中,类之间共享属性和操作的机制称为【】。
以下程序的执行结果是()。#nclude<iostream.h>template<classT>Tmax(Tx,Ty){retum(x>y?x:y);}voidmain(){cout<<max(2,5)<<","<
关于C++主函数特性,下列叙述正确的是()。
若语句:cout<<seffill(’>’)<<setw(5)<<3141512<<sctw(5)<<"OK!";是程序中第1个输出语句,则输出结果是()。
下面关于继承机制的描述中,不正确的是()。
下列函数参数默认值定义错误的是()。
编译过程一般分成5个阶段【】、语法分析、错误检查、代码优化和目标代码生成。
随机试题
无论汽车行驶速度如何,前照灯应保证车前有明亮而均匀的照明,使驾驶员能看清车前100m以内路面上的任何障碍物。()
HIV阳性患者,近2个月出现发热、咳嗽、咳痰,胸片示双上肺均可见斑片状密度增高影,边缘模糊,经抗感染治疗后无明显好转,最可能的诊断是HIV合并
男性患儿,5岁,双眼平视前方时上睑缘位于瞳孔上缘的稍下方。查体:上直肌功能正常,上睑缘上提的幅度6mm,手术时机应选择在
疱疹样口疮与疱疹性口炎的鉴别要点不包括
A.Down综合征(21-三体综合征)B.软骨发育不良C.先天性甲状腺功能减低症D.佝偻病E.苯丙酮尿症女,2岁,智能落后,表情呆滞,眼距宽,眼裂小,鼻梁低,口半张,舌伸出口外,皮肤细嫩,肌张力低下,右侧通贯手。
除另有规定外,含量均匀度的限度是
某大型连锁经营超市因加盟商越来越多,规模不断扩大,欲在原有管理的基础上建立一套适合本企业未来发展的管理信息系统,以加强企业的日常管理、提高本企业的综合管理水平效率和经济效益。经对本超市的经验情况进行现状分析,并借鉴同行业管理水平一流的超市的管理系统的经验,
运用Excel图表呈现数据分析结果时,适用于描述数据之间的比例分配关系的是()。
Q省2018年客货运输换算周转量5096.9亿吨公里,比上年增长4.5%。货物周转量4143.3亿吨公里,增长0.8%。其中,铁路周转量729.6亿吨公里,下降10.0%;公路周转量2731.8亿吨公里,增长5.9%。旅客周转量1768.2亿人公里,增长1
Somepeoplethinkthatuniversitiesshouldprovidestudentswiththeknowledgeandskillsneededintheirfuturework.Othersth
最新回复
(
0
)