首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)
admin
2021-05-06
112
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成CMyClass的构造函数,请改正注释//********1********后的错误。
(2)完成fun()函数定义,请改正注释//********2********后的错误。
(3)初始化CMyClass的成员变量Number3为4,请改正注释//********3********后的错误。
(4)完成fun()函数,请改正注释//********4********后的错误。
输出的结果为:
Number1=12
Number2=18
Number3=16
Number1=4
Number2=2
Number3=19
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
class CMyClass
{
public:
//********1********
CMyClass(int i,int j)
{
Number1=i;
Number3+=i;
}
void display()
{
cout<<"Numberl=
"<
cout<<"Number2=
"<
cout<<"Number3=
"<
}
Void AddNum(int i)
{
Number3+=i;
}
private:
int Number1;
const int Number2;
StatiC int Number3;
//********2********
};
//********3********
Void func()
{
CMyClass obj(1,2);
obj.Number1=4;
//********4********
obj.AddNum();
obj.display();
}
Void main()
{
CMyClass myObj(12,18);
myObj.display();
func();
return;
}
选项
答案
(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);
解析
(1)第1个标识下完成类的构造函数初始化类的成员变量,常成员也必须初始化,并且不能被更新,常数据成员的初始化只能通过构造函数的成员初始化类表进行,因此第1个标识下应为“CMyClass(int i,int j):Number2(j)”,i用来初始化Numberl和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.Numberl=1,obj.Number2=2,Number3=16+1=17,obj.Numberl=4,Number1为4,obj.Number2为常成员其值不会改变,调用AddNum()函数后调用显示函数显示成员变量值,可知Number3为19,因此AddNum()的参数为19.17=2,即第4个标识下应为“obj.AddNum(2);”。
转载请注明原文地址:https://kaotiyun.com/show/WXfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于()。
下列关于类模板的模板参数的叙述中,错误的是()。
下面对软件测试描述错误的是
有如下程序:#includeusingnamespacestd;classInstrument{public:virtualvoidDisplay()=0;};classPiano:publicInstrument{
下列关于类模板的叙述中,正确的是()。
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
下列存储类标识符中,可见性与存在性不一致的是()。
在软件开发中,需求分析阶段产生的主要文档是()。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
下列选项中,正确的C++标识符是
随机试题
Thelawsaysthatwomenshouldhavethechanceofdoingthesamejobsasmenandearnthesameasthem.Therealityisveryd
关于自首、立功的处理原则,下列哪些说法正确?
抗渗等级组批的取样规定,每一工程取样不得少于()。
当x→0时,3x-1是x的()。
(2014年)2013年10月15日,人民法院根据债权人申请受理了A公司破产清算案,并指定了管理人。在该破产案件中,存在以下情况:(1)根据A公司章程的规定,股东分两期缴纳出资,其中,第一期出资于2011年2月1日公司设立时缴纳,第二期出资于2014年2
某一城市有两大支柱产业——传统手工业和旅游业。发展传统手工业将不可避免地导致污染,从而破坏生态环境。但良好的生态环境又是发展旅游业的必要条件。以下哪项能作为结论从上述断定中推出?()
下列关于边防警察的叙述正确的有()。
在一台主机上用浏览器无法访问到域名为www.pku.edu.cn的网站,并且在这台主机上执行ping命令时有如下信息()。C:\>pingwww.pku.edu.cnPingingwww.pku.edu.cn[162.105.131.113
AtRainforestLodagetherearen’tany______
AuniquelaboratoryattheUniversityofChicagoisbusyonlyatnight.Itisadreamlaboratorywhereresearchersareatworks
最新回复
(
0
)