首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m_Num2的值为j,请在注释//********1********后添加适当的语句。 (2
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m_Num2的值为j,请在注释//********1********后添加适当的语句。 (2
admin
2019-06-05
52
问题
用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与其他函数中的任何内容。
1 #include<iostream.h>
2 class TestClass
3 {
4 public:
5 //********1********
6
7 TestClass,(int i,int j)
8 {
9 m_Num1=i;
10 m_Num3+=i;
11 }
12 void Print()
13 {
14 cout<<’’m_Num1 = ’’<<In Num1<<endl;
15 cout<<’’m_Num2 = ’’<<m Num2<<end1;
16 cout<<’’m_Num3 = ’’<<m Num3<<end1;
17 }
18 void Add(int i)
19 {
20 m_Num3+=i;
21 }
22 private:
23 int m_Num1;
24 const int m_Num2;
25 static int m_Num3;
26 //********2********
27
28 };
29 //********3********
30 void fun()
31 {
32 TestClass Num(1,2);
33 Num.m_Num1=4;
34 //********4********
35 Num.Add();
36 Num.Print();
37 }
38 void main()
39 {
40 TestClasS Num(1,2);
40 Num.Print();
42 fun();
43 return;
44 }
选项
答案
(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);
解析
在VC环境下打开程序,根据题干给出的几条功能要求,对程序中给出注释下的内容逐个补全或修改。从已给定源程序的main主函数开始入手,可以看出程序通过调用类TestClass和函数fun实现各种输出操作。
(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;”0
(4)函数fun()中“Num.Add();”语句应该是调用类“TestClass”中的成员函数“voidAdd(int i)”。其定义中存在参数int i,所以注释下修改的语句缺少参数。
主函数首先调用“Num.Print();”,即实现题目中输出的前三条语句,而“fun();”语句实现后面三条语句的输出,即“m_Num3=7”才是调用Num.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/r18p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关系关系代数是关系操纵语言的一种传统表示方式,它以集合代数为基础发展起来的,但它的运算对象和运算结果均是关系,这些新关系仍可以使用同样的代数运算进一步操作。关系代数也是一种抽象的查询语言,它通过对关系的运算来表达查询和修改处理的需求。
类中的一个字符指针成员指向具有m个字节的存储空间时,它所能存储的字符串的最大长度为()。A)m-2B)m-1C)mD)m+1
下列工具中,不属于结构化分析的常用工具的是()。A)PAD图B)数据字典C)判定树D)数据流图
数据流的类型有______和事务型。
A、 B、 C、 D、 B常用的软件结构设计工具是结构图,也称程序结构图。DFD图(数据流图)是以图形的方式描述数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,它是需求分析阶段的图形工具。盒式图(
实体完整性约束要求关系数据库中元组的______属性值不能为空。
对软件设计的最小单位(模块或程序单元)进行的测试通常称为______测试。
已知类Ben中将二元运算符“/”,重载为友元函数,若c1、c2是Ben的两个对象当使用运算符函数进行显式调用时,与表达式c1/c2等价的表示为______。
常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用______方法。
已知类Myclass的定义如下classMyClass{public:voidfunction1(MyClass&C){cout<<c.data;)staticvoidfunction2(MyClass&C)
随机试题
对于GERD患者反流、胃灼热症状为特征性表现,该症状通常发生在
A.茵陈蒿汤B.茵陈五苓散C.茵陈术附汤D.鳖甲煎丸E.逍遥散治疗阳黄湿重于热,应首选()
根据波士顿矩阵法,那些市场占有率很高,但销售增长率不高的旅游产品称为()。
患者,女性,51岁。身高155cm,体重75kg,因消化性溃疡少量出血入院检查。经治疗,患者停止出血。查体:体温38℃,脉搏88次/分,呼吸21次/分,血压165/95mmHg。应为患者选择的最适宜饮食为
按工程量清单计价方式,下列构成投标报价的各项费用中,应该在单位工程费汇总表中列项的是()。
下列各项中,属于施工企业主营业务收入的是______。
下列各项中,属于附期限的民事法律行为有()。
“环境决定论”的代表人物是()。
如果初创企业一味盲目地追求产品开发和获取早期客户的速度,而忽略了产品质量的话,到时往往会__________。虽然表面看来产品是出来了,但是支撑产品的代码或硬件可能会变得难以维护和扩展,就算公司短期内看上去获得了成功,但产品里面的技术债务却积少成多,隐患
以下叙述中错误的是()。
最新回复
(
0
)