首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Num2的值为j,请在注释//********1********后添加适当的语句。 (2)补充全局函数f
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Num2的值为j,请在注释//********1********后添加适当的语句。 (2)补充全局函数f
admin
2019-06-05
105
问题
用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<iostream.h>
ClasS TestClasS
{
public:
//********1********
TestClass(int i,int j)
{
m_Num1=i;
m_Num3+=i;
}
void Print()
{
cout<<"m_Num1="<<m_Num1<<endl;
cout<<"m_Num2="<<m-Num2<<endl;
cout<<"m Num3="<<m Num3<<endl;
)
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()j
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)根据“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”才是调用Num.Add的输出结果,即“m_Num3+=i;”的计算结果。“TestClass]Num(1,2):”中将i的值初始化为1,“m_Num3”的值在上一次“Num.Print();”调用中为1,如果计算结果为7,那么Add(int i)中i的初始化值为5,即“Num.Add(5);”。
转载请注明原文地址:https://kaotiyun.com/show/e18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序执行后,屏幕的输出是()。#include<iostream>usingnamespacestd;voidswap(intx,inty){inttemp=x;x=y;y=t
有如下程序:#include<iostream>usingnamespacestd;classTestClass{staticinti;public:TestClass(){i++;
下列程序执行后,输出的结果是()。intx=-5,y=0;while(++x)y++;cout<<y<<end1;A)1B)2C)4D)5
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。A)*q+8B)*(q+7)C)*q+=8D)q+7
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。#include<iostream>usingnamespacestd;classA{public:A(){cout<<’A’;}
A、 B、 C、 D、 B常用的软件结构设计工具是结构图,也称程序结构图。DFD图(数据流图)是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段的图形工具。盒式图(
有如下语句序列:intx=-10;while(++x){}运行时while循环体的执行次数为______。
有如下程序:#include<iostream>usingnamespacestd;classSac{intn;public:Sac():n(4){cout<<n;}Sac(intk):n(
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
随机试题
某承包商承包某商场室内装修工程专业分包工程项目,于3月15日与总承包单位签订了专业分包合同。部分合同内容如下:(1)施工时间从当年4月1日开始施工,工期为3个月。(2)工程合同价800万元,工程价款采用调值公式动态结算。(3)该工程的不调值部分价款占
肺隔离症的CT征象,出现以下哪种情况可确诊
对土地利用而言,以下对“集约边际”的描述正确的是()。
下列哪一因素不是影响膨胀土胀缩变形的内在因素?
公开发行A股的甲股份有限公司(以下简称甲公司)系ABC会计师事务所的常年审计客户。A和B注册会计师负责对甲公司20×9年度财务报表进行审计,确定财务报表层次的重要性水平为100万元。甲公司20×9年度财务报告于2×10年4月20日获董事会批准,并于同日报送
甲公司2012年12月出口商品一批,售价100万美元,款项已收到,收汇当日汇率为1:6.30;当月进口货物一批,价款50万美元,款项已支付,结汇当日汇率为1:6.28,资产负债表日的即期汇率为1:6.27;假定2012年12月1日美元银行存款余额为0,当月
佛教供奉的对象中,竖三世佛包括()。
2012年福布斯全球企业前十强中,美国企业的市值总和为()亿美元。
下列说法错误的是()。
A、 B、 C、 C提出的问题是问有关饮食喜好的疑问句。要注意不要只听到French,Romania,France等地名就错误地选择其他答案。听到选项(C)中的“does”要马上明白这里的does指的是“likeFre
最新回复
(
0
)