首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)
admin
2018-10-23
54
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成CMyClass的构造函数,请改正注释//********1********后的错误。
(2)完成func()函数定义,请改正注释//********2********的错误。
(3)初始化CmyClass的成员变量Number3为4,请改正注释//********3********后的错误。
(4)完成func()函数,请改正注释//********4********后的错误。
输出的结果为:
Number1=12
Number2=18
Number3=16
Number1=4
Number2=2
Number3=19
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include<iostream.h>
2 class CMyClass
3 {
4 public:
5 //********1********
6 CMyClass(int i,int j)
7 {
8 Number1=i;
9 Number3+=i;
10 }
11 void display()
12 {
13 cout<<’’Number1=’’<<Number1<<end1;
14 cout<<’’Number2=’’<<Number2<<end1;
15 cout<<’’Number3=’’<<Number3<<end1;
16 }
17 void AddNum(int i)
18 {
19 Number3+=i;
20 }
21 private:
22 int Number1;
23 const int Number2;
24 static int Number3;
25 //********2********
26
27 };
28 //********3********
29
30 void func()
31 {
32 CMyClass obj(1,2);
33 obj.Number1=4;
34 //********4********
35 obj.AddNum();
36 obj.display();
37 }
38 void main()
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(int i)函数改变静态成员变量Number3的值,在函数func()内部,访问了类的私有成员,而且func()不属于类的成员函数,故函数func()为类cmyclass的友元函数。
(1)第1个标识下完成类的构造函数初始化类的成员变量,常成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1个标识下应为“CMyClass(int i,int j):Number2(j)”,i用来初始化Number1和Number3,i初始化Number2。
(2)第2个标识下完成func()的函数定义,由审题分析可知,函数func()为类的友元,故第2个标识下应为“friend void func();”。
(3)第3个标识下是静态成员的初始化,静态数据成员的初始化格式为:<数据类型><类名>::<静态数据成员>=<初始值>,因此第3个标识下应为“int CMyClass::Number3=4;”。
(4)成员函数AddNum()带有一个整型参数,因此调用此函数时必须有参数传入,可由程序运行结果分析得知传入的参数值的大小。在fun()函数内,定义CMyClass obj(1,2)后,obj.Number1=1,obj.Number2=2,Number3=16+1=17,obj.Number1=4,Number1为4,obj.Number2为常成员其值不会改变,调用AddNum()函数后调用显示函数显示成员变量值,可知Number3为19,因此AddNum()的参数为19-17-2,即第4个标识下应为“obj.AddNum(2);”。
转载请注明原文地址:https://kaotiyun.com/show/ZwAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列数据结构中,能用二分法进行查找的是()。
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为______的。
对有n个记录的表r[1…n]进行直接选择排序,所需要进行的关键字间的比较次数为______。
下列叙述中正确的是()。
对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。ClassMyClass{Public:MyClass(intx){n=x;)VoidSetNum(intnl){n=nl;}
已知在一个类体中包含如下函数原型:VOLUMEOPERATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是()。
冒泡排序算法在最好的情况下的元素交换次数为______。
下面不属于软件设计原则的是
检查软件产品是否符合需求定义的过程称为
随机试题
A、隐匿传导B、调节痉挛C、调节麻痹D、阿托品化E、筒箭毒样作用睫状肌向瞳孔中心方向收缩,悬韧带松弛,晶状体变凸,屈光度增加,视远物模糊不清,这种现象称之为
2002年4月28日,九届全国人民代表大会常务委员会第27次会议对《刑法》第294条第l款规定的“黑社会性质的组织”的含义做了解释,该解释为()。
基督教自唐初传人我国,已有2000多年的历史。()
案例:下面是“零指数幂”教学片段的描述,阅读并回答问题。片段一:观察下列式子,指数有什么变化规律?相应的幂有什么变化规律?猜测20=?24=1623=822=421=220=?上面算式中,从上向下每一项指数减1,幂减半,猜测20=1。片段二
【2014.河北石家庄】力求成功者的目的是获取成就,因此,成功概率为()的任务是他们最有可能选择的。
第二次世界大战结束时,某国育龄妇女达到最低点。第二次世界大战结束10年后的20世纪50年代中期,平均每个家庭有4.5个孩子。该国10年前育龄妇女数量达到历史最高点,目前平均每个家庭只有1.82个孩子。从上文中可以得出什么结论?()
某画廊设计展出l0幅不同的画,其中5幅国画,4幅油画,l幅水彩画,展览时排成一行,要求同一品种的画必须靠在一起,且水彩画不放在两端,那么不同的陈列方式有()种。
Animportantfactorofleadershipisattraction.Thisdoesnotmeanattractivenessintheordinarysense,forthatisabornqua
Yourplanwillcallforalotofmoney.
Thepolicehaveofferedalarge______forinformationleadingtotherobber’sarrest.[2002]
最新回复
(
0
)