首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
admin
2017-11-27
29
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1********后添加适当的语句。
(2)类CPri是CBase的公共继承类,请在注释//********2********后添加适当的语句。
(3)类CPri构造函数有两个形式参数,第一个是对CBase的初始化,第二个缺省为0,用来对变量Number2进行初始化。请在注释//********3********后添加适当的语句。
(4)类CPri的函数display()重载于CBase的打印函数。完成对变量Number2的输出,然后调用基类的打印函数,请在注释//********4********后添加适当的语句。输出的内容如下:
Number2=12
Number=8
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include
Class CBase
{
private:
int Number;
public:
//********1********
CBase(int x)
{}
void display()
{
cout<<"Number="<
<
}
};
//********2********
class CPri
{
private:
int Number2;
public:
//********3********
CPri(int x,int y=0)
{
Number2=y;
)
void display()
{
//********4********
}
};
int main(){
CPri obj(8,12);
obj.display();
return 0;
}
选项
答案
(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="<
解析
(1)构造函数完成类成员变量的初始化,第1个标识下是对Number1初始化,带参数的构造函数初始化有多种方式,可以在函数体内完成初始化,或利用参数初始化表来完成初始化,显然这里不能在函数体完成初始化,只能是在函数首部实现对数据成员的初始化,因此只能通过参数初始化表来完成,这种方法不在函数体内对数据成员初始化,而是在函数首部实现,即第1个标识下应改为“CBase(intx:Number(x)”。
(2)第2标识下是声明类CPri,且类CPri是CBase的公共继承类,定义派生类的一般格式为:
class<派生类名>:<继承方式1><基类名1>,
<继承方式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="<
转载请注明原文地址:https://kaotiyun.com/show/lJAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的执行结果为()。#include<iostream.h>Classsample{intn;public:sample(inti){n=i;}operato
以下程序的执行结果是______#include<iostream.h>#include<iomanip.h>voidprint(intn){if(n!=0){print(n-1);
下列输出字符,A,的方法中,错误的是()
下列运算符中全都可以被友元函数重载的是()
下面对静态数据成员的描述中,正确的是()。
有如下程序:#include<iostream>#include<iosream>usingnamespacestd;classBASE{charc;public;BASE(charn):c(n){
下面对宏定义的描述中不正确的是
按照“先进先出”组织数据的数据结构是()。
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return______;e
下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
随机试题
病人正虚表气不固,外受风邪,汗出恶风,身重,小便不利,舌淡苔白,脉浮,治宜选用
酸性电位水消毒过程中,不受影响的因素是
给药途径有( )。
Ⅰ型呼吸衰竭是
浙江省面积最大而人口最稀少的地区是哪一个?()
教师要关注()的全面发展。
逻辑设计可以独立于数据库管理系统。()
根据《刑法》分则第三章第一节第149条规定,第140条所规定的生产、销售一般伪劣产品罪和第141~148条所规定的生产、销售特定的伪劣产品罪发生法条竞合时,选择法条适用的原则是()。
一个大于1的自然数的算术平方根为口,则与这个自然数左右相邻的两个自然数的算术平方根分别为().
毛泽东指出:“一国之内,在四周白色政权的包围中,有一小块或若干小块红色政权的区域长期存在,这是世界各国从来没有的事。这种奇事的发生,有其独特的原因。而其存在和发展,亦必有相当的条件。”可见,红色政权长期存在的条件有( )
最新回复
(
0
)