首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Nurn2的值为i,请在注释 //********1********后添加适当的语句。
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能: (1)初始化m Nurn2的值为i,请在注释 //********1********后添加适当的语句。
admin
2021-07-02
86
问题
用VC6打开考生文件夹下的源程序文件modi3.cpp,这个程序完成输出到屏幕一些特定的信息,但工程有错误或者不完整,请完成以下功能:
(1)初始化m Nurn2的值为i,请在注释
//********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+=1;
}
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):rn 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”中的成员函数“voidAdd(int i)”。其定义中存在参数int i,所以注释下修改的语句缺少参数。
主函数首先调用“Num.Print();”,即实现题目中输出的前三条语句,而“funn();”语句实现后面三条语句的输出,即“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/vafp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下定义:inta[5]={1,3,5,7,9},*p=a;下列表达式中不能得到数值5的是()。
下面描述中错误的是
十进制整数设为整数类I,则下面属于类I的实例的是
有如下程序:#includeusingnamespacestd;voidfunction2(intn);voidfunction1(intn){if(n
有如下程序:#includeusingnamespacestd;classCl{public:~4210{cout
下列字符串中,不可以用作C++标识符的是()。
下列叙述中正确的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)在类TestClass中定义name为字符串类型,age为整型,请在注释∥********1********之后添加语句。(2
下列有关类继承的叙述中,错误的是()。
下列选项可以做C++标识符的是()。
随机试题
基于大数据以及潜在应用场景的独特基础,AI人工智能在国内的发展步调可谓________,而经过这两年行业、资本的热捧之后,实际应用落地之艰难让不少行业人士开始________,然而,2017年出来的人工智能翻译机直切跨言语沟通刚需,市场迅速从导入期向爆发期
质量为m,长为2l的均质细杆初始位于水平位置,如图4-48所示。A端脱落后,杆绕轴B转动,当杆转到铅垂位置时,AB杆B处的约束力大小为()。
(一)某农村供销社地处边远山区,每日现金零星支付需要量为2000元。经开户银行审查批准,该企业可以从自己的收入中坐支现金,坐支的限额是2万元。以下是该企业2008年6月的库存现金日记账。以下说法中正确的有()
中国银行凭证式国债质押贷款额度的起点为()元;贷款最高限额应不超过质押权利凭证面额的()。
企业违反《企业国有资产产权登记管理办法》的规定,在规定期限内不办理产权登记的,可以处10万元以下的罚款。( )
试论合同的法律特征。
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
法律发现
通过多机协作,可以共同解决一个复杂的大问题。在奔腾芯片中,支持这项技术的是()。
查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是
最新回复
(
0
)