首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//******error******的下面,修改该语句即可。 #include<iostre
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为: OK 注意:错误的语句在//******error******的下面,修改该语句即可。 #include<iostre
admin
2016-10-28
65
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正其中的错误,使程序正确运行。并且使程序输出的结果为:
OK
注意:错误的语句在//******error******的下面,修改该语句即可。
#include<iostream.h>
class CBase
{
public:
CBase()
{
a=b=0;
}
private:
int a,b;
};
class CDerivel:public CBase
{
public:
CDerivel()
(
)
//******error******
virtual void func();
};
class CDerive2:public CDerivel
{
public:
CDerive2()
{
a=0;
b=0;
}
void func()
{
//******error******
cout<<"OK"<endl;
}
private:
int a;
int b;
};
void main()
{
CDerive2 obj;
//******error******
CDerive1 *p=(CDerive1*)
obj;
p->func();
}
选项
答案
(1)virtual void func()=0; (2)cout<<"OK"<<endl: (3)CDerivel *p=(CDerivel*)aobj;
解析
(1)由审题分析可知,CDerivel类中的func()函数是纯虚函数,纯虚函数的定义格式为:virtual<函数类型><函数名>(<参数表>)=0,因此第1个标识下应为“virtual void func()=0;”。func()函数没有参数表。
(2)编译程序后发现第2个标识下有错误,cout流中的数据是用流插入运算符“<<”顺序加入的,因此“<”不正确,应改成“cout<<"OK"<<endl;”。
(3)函数的调用方式有2种:非多态调用和多态调用,非多态调用是指不使用指针或引用的直接调用,多态调用是指通过对象的指针或引用的调用,在主函数中定义了CDerivel *p,p是指向基类CDerivel的指针,因此是多态调用方式,即通过对象的指针来调用,应该把派生类对象的地址赋给p,而不是对象名,因此第3个标识下应改为“CDerivel *p=(CDerivel*)&obj;”。
转载请注明原文地址:https://kaotiyun.com/show/ZONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下数据结构中不属于线性数据结构的是______.
在重载运算符函数时,下面()。运算符必须重载为类成员函数形式。
C++语言中规定函数的返回值的类型是由()。
在ios中提供控制格式的标志位中,()是转换为十六进制形式的标志位。
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
下面程序的结果为【】。#include<iostream.h>voidmain(){inta=1,b=2;boolc=1;if((a>b)||c)
下列程序的输出结果是#include<iostream.h>voidmain(){char*str="12123434";intxl=0,x2=0,x3=0,x4=0,i;
下列关于栈的叙述正确的是
在算法正确的前提下,评价一个算法的两个标准是【】。
随机试题
一个操纵子通常含有()
关于股管的解剖,下列选项错误的是()
关于代位权的表述,正确的有()。
对某桥梁进行承载能力检测评定,对承载能力恶化系数ξe的取值影响最大的检测指标是缺损状况。()
中央银行经常采用的一般性政策工具有()。
对权益结算的股份支付,无论是否立即可行权,在授予日应确认成本费用和资本公积。()
有一则电视广告说,草原绿鸟鸡,饿了吃青草,馋了吃蚂蚱,似乎在暗示该种鸡及其鸡蛋的营养价值与该种鸡所吃的草原食物有关。为了检验这个结论,下面哪种实验方法最为可靠?
世界上最早建立宪法法院的国家是()
汉字的区位码、国标码和机内码是三个不同的概念,假设某个汉字的区号是30(十进制),位号是63(十进制),则在PC机中它的内码(十六进制)是【 】 。
将考生文件夹下MING.FOR文件复制到KANG1文件夹中。
最新回复
(
0
)