首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在//******error******的下面,修改该语句即可。 #incl
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果: (4,5) 7,8 (4,8) 注意:错误的语句在//******error******的下面,修改该语句即可。 #incl
admin
2019-05-14
33
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正常运行,并且输出以下结果:
(4,5)
7,8
(4,8)
注意:错误的语句在//******error******的下面,修改该语句即可。
#include<iostream.h>
class CObj0
{
public:
CObj0(int i,int j)
{
x=i;
y=j;
}
//********error********
virtual void move(int a;int b)
{
x+=a;
y+=b;
}
void print()
{
cout<<"("<<x<<","<<y<<")"<<endl;
}
public:
int x,y;
};
class CObj1:public CObj0
{
public:
//********error********
CObj1(int i,int j,int k):(i,j)
{
m=k;
n=1;
}
void print()
{
cout<<m<<","<<n<<endl;
}
void func()
{
move(3,5);
}
void display()
{
//********error********
print();
}
private:
int m,n;
};
void main()
{
CObj0 obj(4,5);
obj.print();
CObj1 obj1(1,3,7,8);
obj1.func();
obj1.print();
obj1.display();
}
选项
答案
(1)Virtual void move(int a,int b) (2)CObj1(int i,int j,int k,int1):CObj0(i,j) (3)CObj0::print();
解析
(1)编译程序可知第l标识下有错误,此处是声明虚函数,虚函数的声明方式为:virtual<类型说明符><函数名>(<参数表>),参数表中各参数之间应该用“,”隔开,因此第1个标识下应改为“virtual void move(int a,int b)”。
(2)在主函数里“CObj1 obj1(1,3,7,8);”,可知构造函数CObj1()有四个参数,完成变量m、n、x和y的初始化,k和1赋值给m和n,i和j赋值给x和y,x和y的初始化可通过基类构造函数来完成对x和y的初始化,第2个标识下应改为CObj1(int i,int j,int k,int1):CObj0(i,j)。
(3)由程序运行结果可知标识3下调用的是基类的print()函数,而“print();”是调用的派生类的print()函数,因此此时只能通过类名来直接调用print()函数,即第3个标识下应改为“CObj0::print();”。
转载请注明原文地址:https://kaotiyun.com/show/7E8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
执行语句:{cout<<setfill(’*’)<<setw(10)<<seffill(’#’)<<left<<123<<"0K"<<end1;return0;}后将输出()。
设有以下定义和程序:#include<iostream.h>classTestClass1{public:voidshow1(){cout<<"TestClass1"<<end1;}
下面关于构造函数和析构函数的描述,错误的是()。
下面程序的运行结果是()。#include<iostream.h>intx=5;intfan(inta){intc;c=x*a;returnc;}voidmain(
在C++语言中函数返回值的类型是由()决定的
有如下程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(’A’){cout<<1;}Con(
有如下程序:#include<iostream>usingnamespacestd;classA{public:staticinta;voidinit(){a=1;}A(inta=2){
有如下程序:#include<iostream>voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={23,42};fun(a[1],a
已知枚举类型定义语句为:enumToken{NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
随机试题
治疗肾阴不足,相火偏亢之遗精的药物是
钻孔灌注桩实测桩长为30m,时域信号第一峰与桩端反射波峰间的时间差为15.79ms,计算该桩的桩身波速为()。
下列暂停施工增加的费用和(或)工期延误由承包人承担的不包括()。
某单位计算机房采用气体灭火系统进行保护,为了防止系统由于驱动气体泄漏累积而引起系统的误动作而在管路中设置的阀门是()。
运算器的主要功能是()。
下列情形中,不可以担任基金管理人的董事、监事、高级管理人员或者其他从业人员的情形不包括()。
下列三个事件:必然事件是().①今年冬天,太原会下雪;②将花生油滴入水中,花生油会浮在水面上;③任意投掷一枚质地均匀的硬币,硬币停止后,正面朝上.
设顺序表中结点个数为n,向第i个结点后面插入一个新结点,设向每个位置插入的概率相等,则在顺序表中插入一个新结点平均需要移动的结点个数为()。
下列叙述中,不属于软件需求规格说明书的作用的是()。
Wehavecompiledalistofthingsthatexpectantcouplesandnewparentscandoontheirowntoreducetheexpectedstrainande
最新回复
(
0
)