首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Num2的值为j,请在注释//********1********后添加适当的语句。 (2
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Num2的值为j,请在注释//********1********后添加适当的语句。 (2
admin
2015-05-30
51
问题
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能:
(1)初始化m Num2的值为j,请在注释//********1********后添加适当的语句。
(2)补充全局函数fun()使之能够调用类TestClass的成员变量,请在注释//********2********后添加适当的语句。
(3)初始化静态变量,请在注释//********3********后添加适当的语句。
(4)修改注释//********4********后的语句。
使得程序输出以下内容:
m_Num1=1
m_Num2=2
m_Num3=l
m_Num1=4
m_Num2=2
m_Num3=1
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
1 #include
2 ClaSS TestClasS
3 {
4 publiC:
s //********1********
6
7 TestClasS(int i,int J)
8 {
9 m_Numl=i ;
i0 m_Num3+=i ;
11 }
12 VOid Print()
13 {
14 cout<<"m_Numl="<
15 cout<<"m—Num2="<
16 cout<<"m_Num3="<
17 }
18 void Add(int i)
19 {
20 m_Num3+=i;
21 }
22 private:
23 int m Numl;
24 const int m Num2;
25 statiC int m Num3;
26 //********2********
27
28 };
29 //********3********
30
31 void fun()
32 {
33 TestClass Num(1,2);
34 Num.m_Num1=4;
35 //********4********
36 Num.Add();
37 Num.Print();
38 }
39 void main()
40 {
41 TestClass Num(1,2);
42 Num.Print();
43 fun();
44 return;
45 }
选项
答案
(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 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://www.kaotiyun.com/show/NPNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有关系模式R(A,B,C,D,E,P),其函数依赖集为{E→D,C→B,(C,E)→F,B→A},则R最高达到______。
阅读下面的程序:#include<iostream.h>voidmain(){intx;cin>>x;if(x++>5)cout<<x<<endl;else
假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。
有如下程序:#inchde<iostream.h>voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={23,42);fun(a[1
基类的【】不能被派生类的成员访问,基类的【】在派生类中的性质和继承的性质一样,而基类的【】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
在下面程序运行#include<iostream.h>intfunc(chars[]){intlength=0;while(*(s+length))length++;returnlength
软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的______。
结构化程序设计的一种基本方法是【】法。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
线性表最常用的操作是存取第i个元素及其前趋的值,则采用______存储方式节省时间
随机试题
A.2m1B.4mlC.6mlD.10mlE.25ml新生儿短期大量输血是指每公斤体重大于
雌酮在肝脏灭活所进行的反应是大部分磺胺药在肝脏灭活所进行的反应是
用来评价沥青混合料水稳定性的指标有()。
某月30d,绞吸挖泥船完成工程量20万m3,该船时间利用率60%,已知该船排泥管径为0.6m,泥浆浓度10%。问题:计算该船生产率;
钻孔灌注桩施工时,造成钻孔塌孔或缩径的主要原因有()等。
关于机械摊铺施工技术要求的说法,错误的是()。
体质指数(BMI)26者为()。
下列行为中,张某不应当承担民事责任的是()。
在考生文件夹下有一个数据库文件"samp1.mdb",里边已建立两个表对象"tGrade"和"tStudent";同时还存在一个Excel文件"tCourse.xls"。请按以下操作要求,完成表的编辑:(1)将Excel文件"tCourse.xls"链接
Completeeachsentencewiththecorrectending,A-F,below.Writethecorrectletter,A-F,inboxes37-40onyouranswersheet.
最新回复
(
0
)