首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.epp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
使用VC6打开考生文件夹下的源程序文件modi3.epp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
admin
2019-06-05
25
问题
使用VC6打开考生文件夹下的源程序文件modi3.epp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1********后添加适当的语句。
(2)类CPri是CBase的公共继承类,请在注释//********2********后添加适当的语句。
(3)类CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化。请在注释//********3********后添加适当的语句。
(4)类CPri的函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数,请在注释//********4********后添加适当的语句。输出的内容如下:
Number2=12
Number=8
注意:除在指定位置添加语句之外,请不要改动程中的其他内容。
1 #include<iostream.h>
2 class CBase
3 {
4 private:
5 int Number;
6 public:
7 //********1********
8 CBase(int x)
9 {}
10 void display()
11 {
12 cout<<’’Number=’’<<Number<<end1;
13 }
14 };
15 //********2********
16 class CPri
17 {
18 private:
19 int Number2;
20 public:
21 //********3********
22 CPri(int x,int y=0)
23 {
24 Number2=y;
25 }
26 void display()
27 {
28 //********4********
29
30 }
31 };
32 int main(){
33 CPri obj(8,12);
34 obj.display();
35 return 0;
36 }
选项
答案
(1)将“CBase(int x)”补充完整为:CBase(int x):Number(x) (2)将“class cPri”本卜充完整为:class cpri:public CBase (3)将“cPri(int x,int y=0)”补充完整为:Cpri (int x,int y=0):CBase(x) (4)添加语句:cout<<’’Number2=’’<<Number2<< end1;CBase::dlsplay();
解析
程序中定义了类CBase和类CPri,类CPri公有派生于类CBase,CBase中有成员变量Number,CPri有成员变量Number2,两个类均有display()函数来打印成员变量的值。
(1)构造函数完成类成员变量的初始化,第1个标识下是对Number1初始化,带参数的构造函数初始化有多种方式,可以在函数体内完成初始化,或利用参数初始化表来完成初始化,显然这里不能在函数体完成初始化,只能是在函数首部实现对数据成员的初始化,因此只能通过参数初始化表来完成,这种方法不在函数体内对数据成员初始化,而是在函数首部实现,即第1个标识下应改为“CBase(int x):Number(x)”。
(2)第2标识下是声明类CPri,且类CPri是CBase的公共继承类,定义派生类的一般格式为:
class<派生类名>:<继承方式l><基类名l>,
<继承方式2><基类名2>,
<继承方式n><基类名n>
{
<派生类新定义成员>
};
类CPri是CBase的公共继承类,因此第2个标识下应改为“class CPri:public CBase”。
(3)CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化,这里对CBase的初始化也不能在函数体内完成,因此也必须采用参数初始化表来完成,即第3个标识下应改为“CPri(int x,int y=0);CBase(x)”,调用CBase的构造函数完成对CBase的初始化。
(4)函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数display(),基类的display()和派生类的display()重名,调用基类的display()应过类名来直接调用,即第4个标识下应添加“cout<<’’Number2=’’<<Number2<<end1;CBase::display();”。
转载请注明原文地址:https://jikaoti.com/ti/WqA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
相关文档计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。
关系关系代数是关系操纵语言的一种传统表示方式,它以集合代数为基础发展起来的,但它的运算对象和运算结果均是关系,这些新关系仍可以使用同样的代数运算进一步操作。关系代数也是一种抽象的查询语言,它通过对关系的运算来表达查询和修改处理的需求。
下列程序执行后,屏幕的输出是()。#include<iostream>usingnamespacestd;voidswap(intx,inty){inttemp=x;x=y;y=t
A、 B、 C、 D、 B对二叉树的访问有3种方式,其中任意的两种可惟一确定一颗二叉树。但无论是前序、后序还是中序遍历二叉树时,其区别在于访问根的先后次序不同,而访问叶结点的顺序完全相同。
A、 B、 C、 D、 C结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
请在横线处填写派生类Derived的继承方式,使得程序的输出结果为Base。#include<iostream>usingnamespacestd;classBase{public:voidprint(){c
对软件设计的最小单位(模块或程序单元)进行的测试通常称为______测试。
若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为()。A)aB)AA.aC)a{}D)AA::a{}
为了提高函数调用的实际运行速度,可以将较简单的函数定义为()。A)内联函数B)重载函数C)递归函数D)函数模板
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
随机试题
()在油层对比之前要找好被对比井周围临井资料,确定对比连通关系。
牙髓电活力测验时,测器电极应放的位置如下,除外
下颌骨正中联合两侧双发骨折时,正中骨折段向哪个方向移位()
(2014年真题)下列有关唐代御史台的表述,正确的是()。
背景资料:清河泵站设计装机流量150m3/s,出口防洪闸所处堤防为1级。招标人对出口防洪闸工程施工标进行公开招标。有关招标工作计划如下:5月31日提交招标备案报告,6月1日发布招标公告,6月11日~15日出售招标文件,6月16日组织现场踏勘,6月
我国负责期货从业人员资格的认定、管理及注销的机构是( )。
美国货币监理署(OCC)认为,()是指经营决策错误,或决策执行不当,或对行业变化束手无策,而对商业银行的收益或资本形成现实和长远的影响。
中国于1945年加入国际货币基金组织,是创始国之一。()
父は手術の後、びょうきも順調に回復している。
Therelationshipbetweenhumananddogdatesbacktoatleast8,000yearsago.Differenttypesofdogsweredevelopedfordiffer
最新回复
(
0
)