首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用Vc++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成TC的构造函数,请改正注释1后的错误。 (2)完成func函数定义,请改正注释2后的错误。 (3)初始
使用Vc++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成TC的构造函数,请改正注释1后的错误。 (2)完成func函数定义,请改正注释2后的错误。 (3)初始
admin
2020-07-23
85
问题
使用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
class TC
{
public:
//********1********
TC(int i,int j)
{
Num1=i:
Num3+=i:
}
void display()
{
cout<<"Num1="<
cout<<"Num2="<
cout<<"Num3="<
}
void AddNum(int i)
{
Num3+=i:
}
private:
int Num1:
const int Num2;
static int Num3;
//********2********
};
//********3********
void func()
{
TC obi(1,2);
obj.Num1=4:
//********4********
obj.AddNum();
obj.display();
}
void main()
{
TC myObj(12,18);
myObj.display();
rune();
return;
}
选项
答案
(1)将“TC(int i.int j)”补充完整为“TC(int i,int j):Num2(j)”。 (2)应添加“friend void func();”。 (3)应添加“int TC::Num3=4;”。 (4)将“obj.AddNum()”补充完整为“obj.AddNum(2);”。
解析
本题在第1处完成类的构造函数初始化类的成员变量,常数据成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1处的语句应为“TC(int i,int j):Num2(j)”,i用来初始化Num1和Num3,j初始化Num2。
第2处完成func的函数定义,由审题分析可知,函数fune为类的友元,故第2处的语句应为“friend void func();”。
第3处的语句是静态成员的初始化,静态数据成员的初始化格式为“(数据类型)(类名)::(静态数据成员)一(初始值)”,因此第3处的语句应为“int TC::Num3=4;”。成员函数AddNum带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun函数内,定义TC obj(1,2)后,ohj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Num1为4,obj.Num2为常数据成员,其值不会改变,N用AddNum函数后调用显示函数显示成员变量值,可知Num3为19,因此AddNum()的参数为19-17=2,即第4.处的语句应为“ohj.AddNum(2):”。
转载请注明原文地址:https://kaotiyun.com/show/bFyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若MyClass为一个类,执行语句"MyClassa[4],*p[5];"时会自动调用该类构造函数的次数是
下列函数模板的定义中,合法的是
有如下程序:#include#includeusingnamespacestd;classPerson{public:Person(string
有如下类定义:classVechicle{//基类public:Vechicle(strings):name(s){}protected:
有如下类定义:classFoo{public:Foo(intv):value(v){} //①~Foo(){} //②private:Foo(){}
有如下类定义和变量定义:classA{public:A(){data=0;}~A(){}intGetData()const{ret
if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列表述中错误的是()。
下面是重载为非成员函数的运算符函数原型,其中错误的是
派生类的构造函数的成员初始化列中,不能包含()。
下列语句中,错误的是()。
随机试题
春季发生疮疡其成因多为秋季发生疮疡其成因多为
抑制胃液分泌的物质是
关于妊娠期贫血的诊断标准正确的是()
固定资产清理的会计处理中,最终的损益应作为()处理。
账证核对是指核对账簿记录与原始凭证、记账凭证的()是否一致,记账方向是否相符。
下列选项中属于个人消费贷款的有()。
充分就业是指()。
2007年全球金融海啸肆虐,以家电为代表的消费性电子产品外销的需求急速衰退,家电企业可谓________。为了扩大国内市场,也为了让国内家电企业走出低谷,家电下乡、以旧换新、节能补贴等政策陆续出台。这些扶持性政策________,对家电业发展产生了巨大的推
近来《世界经济论坛》常常出现的文字错漏让主编老耿十分恼火,为此他专门设立了责任校对。本期《世界经济论坛》付印前,责任校对小欧向耿主编汇报说:“所有文章都仔细校对过了,没有发现任何文字、标点错误。”如果小欧的这一说法为真,则在下述三个判断中:(1)没有文章被
Excessivesugarhasastrongmal-effectonthefunctioningofactive【C1】o______suchastheheart,kidneysandthebrain.Shipwre
最新回复
(
0
)