首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m_Num2的值为j,请在注释//********1********后添加适当的语句。 (2
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m_Num2的值为j,请在注释//********1********后添加适当的语句。 (2
admin
2019-06-05
49
问题
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能:
(1)初始化m_Num2的值为j,请在注释//********1********后添加适当的语句。
(2)补充全局函数fun()使之能够调用类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
class TestClass
{
public:
//********1********
TestClass(int i,int j)
{
m_Num1=i;
m_Num3+=i;
}
void Print()
{
cout<<"m_Num1 = "<
cout<<"m_Num2 = "<
cout<<"m_Num3 = "<
)
void Add(int i)
{
m_Num3+:i;
}
private:
int m_Num1;
const int m_Num2,
Static int m_Num3;
//********2********
};
//********3********
void fun()
{
TestClass Num(1,2);
Num.m Num1=4;
//********4********
Num.Add();
Num.Print();
)
void main()
{
TestClass Num(1,2);
Num.Print();
fun();
return;
}
选项
答案
(1)添加语句:TestClass(int i,int j):m_Num2(j) (2)添加语句:friend void fun(); (3)添加语句:int TestClass::m_Num3=0; (4)将“Num.Add();”补充完整为:Num.Add(5);
解析
(1)根据“const int m_Num2;”语句知道m_Num2为类TestClass中的私有数据,另外,C++定义构造函数的初始化数据成员的方法中可以在原有函数末尾加一个冒号,然后列出参数的初始化表实现,即“TestClass(int i,int j):m_Num2(j)”。
(2)在C++中,如果在本类以外的其他地方定义了一个函数,在类体中是用friend对该函数进行声明的,此函数称为本类的友元函数,并且能够调用本类中的成员变量。程序中fun()在类TestClass以外的地方定义的,为了实现其对类TestClass中成员变量的调用,在类TestClass中补全“friend void fun();”,即声明fun()为类TestClass的友元函数。
(3)在C++中,初始化类中数据成员的格式可以是“<类型>类名class::参数=”,其中<类型>为要初始化参数的类型,“::”为作用域符号,说明参数是class中的参数,所以这里补全“int TestClass::m_Num3=0;”。
(4)函数fun()中“Num.Add();”语句应该是调用类“TestClass”中的成员函数“void Add(int i)”。其定义中存在参数int i,所以注释下修改的语句缺少参数。
主函数首先调用“Num.Print();”,即实现题目中输出的前三条语句,而“fun();”语句实现后面三条语句的输出,即“m_Num3=7”才是调用Nmn.Add的输出结果,即“m_Num3+=i;”的计算结果。“TestClassNum(1,2);”中将i的值初始化为1,“m_Num3”的值在上一次“Num.Print();”调用中为1,如果计算结果为7,那么Add(int i)中i的初始化值为5,即“Num.Add(5);”。
转载请注明原文地址:https://kaotiyun.com/show/f18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
相关文档计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
下面不属于C++的预定义的流对象是()。A)cinB)iostreamC)clogD)Celt
下列关于抽象类的表述中正确的是()。A)派生类必须要实现作为基类的抽象类中的纯虚函数B)抽象类的成员函数至少有一个没实现C)抽象类不可能用来定义对象D)派生类不能成为抽象类
设程序如下:#include<iostream>usingnamespacestd;intmain(){int**p,*q,r=10;q=&r;p=&q;cout<<**p+1<<en
下面的函数调用为:fun(x+y,3,min(n-1,y))则fun的实参个数是()。A)3B)4C)5D)6
在公有派生时,派生类中定义的成员函数只能访问原基类的()。A)私有成员、保护成员和公有成员B)保护成员和私有成员C)公有成员和保护成员D)公有成员和私有成员
A、 B、 C、 D、 B常用的软件结构设计工具是结构图,也称程序结构图。DFD图(数据流图)是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段的图形工具。盒式图(
有如下语句序列:intx=-10;while(++x){}运行时while循环体的执行次数为______。
对软件设计的最小单位(模块或程序单元)进行的测试通常称为______测试。
C++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。A)coutB)cinC)cerrD)cset
随机试题
下列有关肌梭感受器,错误的论述是()。
A.G蛋白偶联受体B.化学门控通道C.电压门控通道D.机械门控通道E.酪氨酸激酶受体神经轴突膜上与动作电位的产生直接有关的蛋白质属于
关于子宫内膜癌,下列哪项正确
患儿男性,出生4天,生后50小时才排少量胎便,呕吐粪便状液体。查体:腹胀,尚软,无固定压痛。肛查拔出指套后有暴发性排气排便。考虑可能的诊断为
血中具有生理作用的钙是
正常妊娠24周末,宫底高度应在
患者,男,49岁。呕吐吞酸,嗳气频繁,胸胁满痛,舌边红,苔薄腻,脉弦。治法为
“政社互动”其全称是“政府行政管理与基层群众自治有效衔接和良性互动”,其内核是:凡村(居)自治事务,放手其自主管理;政府部门行政事务不得随意下派。“政社互动”的意义在于()。
正确地度量服务部门工人的生产率很复杂。例如,考虑邮政工人的情况:如果每个邮政工人平均投递更多的信件,就称他们有更高的生产率,但这真的正确吗?如果投递更多信件的同时每个工人平均丢失或延迟更多的信件会是什么情况呢?以上对量度生产率的方法暗含的反对意见是基于对以
将考生文件夹下PENG文件夹中的文件BLUE.WPS移动到考生文件夹下ZHU文件夹中,并将该文件改名为RED.WPS。
最新回复
(
0
)