首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)完成func(1
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成CMyClass的构造函数,请改正注释//********1********后的错误。 (2)完成func(1
admin
2016-10-28
20
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成CMyClass的构造函数,请改正注释//********1********后的错误。
(2)完成func(1函数定义,请改正注释//********2********后的错误。
(3)初始化CmyClass的成员变量Number3为4,请改正注释//********3********后的错误。
(4)完成func()函数,请改正注释//********4********后的错误。
输出的结果为:
Number1=12
Number2=18
Number3=16
Number1=4
Number2=2
Number3=19
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include<iostream.h>
class CMyClass
{
public:
//********1********
CMyClass(int i,int j)
{
Number1=i;
Number3+=i;
}
void display()
{
cout<<"Number1="<<Number1<<endl;
cout<<"Number2="<<Number2<<endl;
cout<<"Number3="<<Number3<<endl;
}
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用来初始化Number1和Number3,j初始化Number2。
(2)第2个标识下完成func0的函数定义,由审题分析可知,函数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/4ONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下类定义中可能会引起错误的语句是classA{public:~A(){}//1inti;//2private:
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
若已知charstr[20];,有语句cin>>str;当输入为:Thisisaprogram所得的结果是str=()。
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。intmystrlen(char*str){inti;for(i=0;______!=’\0’;i++);
有如下程序#include<iostream.h>voidmain(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[
关于静态数据成员的描述中正确的是
C++语言中标点符号中表示一条预处理命令开始的是
设有以下程序段:inta[5]={0},*p,*q;p=a;q=a;则下列选项中,合法的运算是
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
与其他国家进行横向比较,目前中国服务出口贸易发展水平处于()
醛固酮的主要作用是
评估形势的内容包括
产单核李斯特菌经革兰染色,哪项是正确的
下列哪项在肾阳虚证中不易见到()
背景资料:某高速公路施工项目,全长60.3km,设计车速为120km/h,路面面层采用水泥混凝土路面施工方法,并采用滑轮式摊铺机进行施工,具体的施工方法和问题的处理如下:(1)施工中采用塑料模板。(2)在混凝土抗压强度达到6.0M
货物装船后,凭以换取正本提单的单据是()
电子出版物框架结构的艺术创意设计包括()等的设计。
提出了著名的“层垒地造成中国古史”的学说的民国时期的史学家是()。
某公司网络DHCP服务器地址为192.168.0.2,可分配IP地址为192.168.0.6-192.168.0.254,缺省网关的地址为192.168.0.1,DNS服务器地址为192.168.0.2。网络中某客户机从服务器获取IP地址后,在客户机上执行
最新回复
(
0
)