首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)
admin
2021-09-05
44
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成CMyClass的构造函数,请改正注释//********1********后的错误。
(2)完成func()函数定义,请改正注释//********2********后的错误。
(3)初始化CmyClass的成员变量Number3为4,请改正注释//********3********后的错误。
(4)完成func0函数,请改正注释//********4********后的错误。
输出的结果为:
Number1=12
Number2=18
Nurnber3=16
Number1=4
Number2=2
Number3=19
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include
2 class CMyClass
3 {
4 public:
5 //********1********
6 CMyClass(int i,int j)
7 {
8 Numberl=i;
9 Number3+=i;
10 }
1i void display()
12 {
13 cout<<"Number1="<
14 cout<<"Number2="<
15 cout<<"Number3="<
16 }
17 void AddNum(int i)
18 {
19 Number3 +=i;
20 }
21 private:
22 int Numberl;
23 const int Number2 ;
24 stat ic int Number3;
25 //********2********
26
27 };
28 //********3********
29
30 void func()
31 {
32 CMyClass obj(1,2);
33 obj.Numberl=4 ;
34 //********4********
35 obj.AddNum();
36 obj.di splay();
37 }
38 void mein()
39 {
40 CMyClass myObj(12,18);
41 myObJ.display();
42 func();
43 return;
44 }
选项
答案
(1)将“CMyClass(int i,int j)”补充完整为:CMyClass(int i,int j):Number2(j) (2)添加语句:friend void func(); (3)添加语句:int CMyClass::Number3=4: (4)将“obj.AddNum( )”补充完整为:obj.AddNum(2);
解析
程序中定义了CMyClass类,其含有3个成员变量和多个成员函数,成员变量Number2为常成员,Number3为静态成员。display()数输出3个成员变量的值,AddNum(inti)函数改变静态成员变量Number3的值,在函数func()内部,访问了类的私有成员,而且func()不属于类的成员函数,故函数func()为类cmyclass的友元函数。
[解题思路]
(1)第1个标识下完成类的构造函数初始化类的成员变量,常成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1个标识下应为“CMyClass(int i,int j):Number2(j)”,i用来初始化Number1和Number3,i初始化Number2。
(2)第2个标识下完成func0的函数定义,由审题分析可知,函数func()为类的友元,故第2个标识下应为“friendvoid func0;”。
(3)第3个标识下是静态成员的初始化,静态数据成员的初始化格式为:<数据类型><类名>::<静态数据成员>=<初始值>,因此第3个标识下应为“int CMyClass::Number3=4;”0
(4)成员函数AddNum()带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun()函数内,定义CMyClass obj(1,2)后,obj.Numberl=l,obj.Number2=2,Number3=16+1=17,obj.Numberl=4,Number1为4,obj.Number2为常成员其值不会改变,调用AddNum0函数后调用显示函数显示成员变量值,可知Number3为19,因此AddNum0的参数为19.17=2,即第4个标识下应为“obj.AddNum(2);”
转载请注明原文地址:https://kaotiyun.com/show/MKfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
假定在一个程序中执行到语句:cout
有如下程序:#includeusingnamespacestd;classAA{public:AA(){cout
若有如下程序段:#includeusingnamespacestd;intmain(){char*p="abcdefgh",*r;r=p;cout
请打开考生文件夹下的解决方案文件proj3,本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.epp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。屏幕上输出的正确结果应该是:Hel
请打开考生文件夹下的解决方案文件proj2,其中定义了vehicle类,并派生出motorcar类和bicycle类。然后以motorcar和bicycle作为基类,再派生出motorcycle类。要求将vehicle作为虚基类,避免二义性问题。请在程序中
请打开考生文件夹下的解决方案文件proj3,其中包含了类IntegerSet和主函数main的定义。一个IntegerSet对象就是一个整数的集合,其中包含0个或多个无重复的整数;为了便于进行集合操作,这些整数按升序存放在成员数组elem的前若干单元中。成
请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行’’//ERROR**********found**********下面的一行有错误,请加以更正。更正后程序的输出为:57
随机试题
组织液生成主要取决于【】
A.遗传性球形红细胞增多症B.遗传性椭圆形红细胞增多症C.丙酮酸激酶缺乏D.珠蛋白生成障碍性贫血脾切除对消除贫血和黄疸有效的疾病是
A.静注甘露醇、葡萄糖、速尿、肾上腺皮质激素等B.吸氧、高压氧舱疗法C.保持呼吸道通畅,注意口腔卫生,勤翻身及用抗生素等D.药物冬眠,冰帽降温,给予ATP及细胞色素CE.立即将患者转移到空气新鲜的地方抢救急性CO中毒时纠正缺氧的方法是
依据《通用安装工程工程量计算规范》(GB50856—2013),措施项目清单中,属于专业措施项目的有()。
道路的路基主要由()等部分组成。
Whenthecostoffuelisfluctuating,thecarriersmaycharge()
根据民法理论,担保物权的特征之一是()。
普通年金是指()。
A公司的发展战略是到2009年年收入达到100亿元,2015年达到180亿元,该公司为了实现目标,决定运用德尔菲法进行劳动力需求的预测。请根据上述资料,回答下列问题:此种对劳动力需求的评估方法说法正确的是()。
下列条目中哪些是IBM商务智能解决方案的组成部分?Ⅰ.OLTP业务系统Ⅱ.前台分析工具Ⅲ.数据仓库管理器Ⅳ.多维服务器
最新回复
(
0
)