计算机二级上机测试题,计算机二级C++上机考试试题

本文提供了一份计算机二级C++考试的试题解析,涉及类的构造函数、常量成员、静态成员及友元函数的使用。在试题中,需要补充并修正类TC的定义,包括初始化成员变量、定义func函数、静态成员初始化以及调用AddNum函数。解析部分详细解释了每个修正点的原因和正确做法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机二级C++上机考试试题

为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C++上机考试试题,供参考练习,预祝考生们考出自己理想的成绩!

8fe32c52b196bfece54d2e616ed78c4e.png

综合应用题

使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。

(1)完成TC的构造函数,请改正注释1后的错误。

(2)完成func函数定义,请改正注释2后的错误。

(3)初始化CmyClass的成员变量Num3为4,请改正注释3后的错误。

(4)完成func函数,请改正注释4后的`错误。

输出的结果为

Num1=12

Num2=18

Num3=16

Num1=4

Num2=2

Num3=19

注意:除在指定位置添加语句之外,不要改动程序中的其他内容。

试题程序:

#include

classTC

{

public:

//********1********

TC(inti,intj)

{

Numl=i;

Num3+=i:

}

voiddisplay()

{

cout<

cout<

cout<

}

voidAddNum(inti)

{

Num3+=i;

}

private:

intNum1;

constintNum2;

staticintNum3;

//********2********

};

//********3********

voidfunc()

{

TCobj(1,2);

obj.Num1=4;

//********4********

obj.AddNum();

ohj.display();

}

voidmain()

{

TCmyObj(12,18);

myObj.display();

rune();

return;

}

答案:

(1)将“TC(inti,intj)”补充完整为“TC(inti,intj):Num2(j)”。

(2)应添加“friendvoidfunc();”。

(3)应添加“intTC::Num3=4;”。

(4)将“obi.AddNum()”补充完整为“obj.AddNum(2);”。

【解析】本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(inti,intj):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。第2处完成fune的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friendvoidrune();”。第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)::”,因此第3处的语句应为“intTC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TCobj(1,2)后,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl为4,obj。Num2为常数据成员,其值不会改变,调用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum()的参数为19-17=2,即第4处的语句应为“obj.AddNum(2);”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值