首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释∥********1********后的错误。 (2)完成func()函
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释∥********1********后的错误。 (2)完成func()函
admin
2015-07-20
26
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成CMyClass的构造函数,请改正注释∥********1********后的错误。
(2)完成func()函数定义,请改正注释 ∥********2********后的错误。
(3)初始化CmyClass的成员变量Number3为4,请改正注释 ∥********3********后的错误。
(4)完成func0函数,请改正注释 ∥********4********后的错误。
输出的结果为:
Number1=12
Number2=18
Number3=16
Number1=4
Number2=2
Number3=19
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
class CMyClass
(
public:
∥********1********
CMyCIass(int i,int k)
{
Numberl=i;
Number3+=i;
}
void display()
{
cout<<”Numberl=
“<
cout<<11Number2:
”<
cout<<”Number3=
”<
}
void AddNum(int i)
{
Number3+=i;
}
private:
int Numberl;
const int Number2;
static int Number3;
∥********2********
};
∥********3********
void func()
{
CMyClass obj(1,2);
obj.Numberl=4;
∥********4********
obj.AddNum();
obj.di splay();
}
VOid mein()
{
CMyClass myObj(12,18);
myObj.display();
func();
return;
}
选项
答案
(1)将“CMyClass(int i,intj)”补充完整为: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个标识下应为“friendvoid 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为常成员其值不会改变,调用AddNum0函数后调用显示函数显示成员变量值,可知Nurnber3为19,因此AddNum0的参数为19.17=2,即第4个标识下应为“obi.AddNum(2);”。
转载请注明原文地址:https://kaotiyun.com/show/93Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序中,while循环的循环次数是()。main(){inti=O;while(i<10){if(i<1)continue;if(i==5)b
软件测试过程一般按4个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。在程序编码阶段进行的测试通常是______。
不属于结构化程序设计方法的四条原则是______。
有以下面程序:#include<iostream>usingnamespacestd;longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));
已知doublevar;是文件F1.CPP中的一个全局变量定义,若文件F2.CPP中的某个函数也需要访问,则在文件F2.CPP中var应说明为【】。
在下面的类定义中,横线处应填入的内容是()。classFred{public:voidprint(){cout<<data<<end1;voidsetData(doubled)(data=d;static
下列运算符不能用友元函数重载的是()。
已知各变量的定义如下inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C++语言语法的表达式是()。
若语句:cout<<seffill(’>’)<<setw(5)<<3141512<<sctw(5)<<"OK!";是程序中第1个输出语句,则输出结果是()。
创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数。下列程序涉及对象数组的创建和单个对象的创建,其输出结果是【】。#include<iostream>usingnamespace
随机试题
根据我国法律规定,涉外不动产物权民事争议,应适用()
根据“三步走”发展战略,我国到21世纪中叶的战略目标是()
甲为了能在自己的房子里欣赏远处的风景。便与相邻的乙约定:乙不在自己的土地上从事高层建筑;作为补偿,甲每年支付给乙4000元。两年后,乙将该土地使用权转让给丙。丙在该土地上建了一座高楼,与甲发生了纠纷。对此纠纷,下列判断哪一个是正确的?
下列关于工程结构或其某一部分进入状态的描述中,哪个选项属于正常使用极限状态?()[2010年真题]
下列关于银行资产负债利率风险的说法中,不正确的是()
各种不同的账务处理程序的主要相同点有()。
人的心理现象()
人格是一个人区别于他人的稳定而统一的心理品质,影响人格发展的因素众多,在中学阶段影响学生人格的主要因素是()
挪用公款罪的主体是()。
关于切实做好我市所有柴油公交车冒黑烟问题治理工作的通告市运管处、维修办、各公交企业:为加强公交车尾气排放污染的整治力度,杜绝柴油公交车严重冒黑烟现象,经5月16日局长专题会议研究决定,从6月1日开始对我市所有柴油公交车冒黑烟问题进行集中
最新回复
(
0
)