首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: TestClass 1 TestClass2 注意:不要改动main函数,不能增行或删行,也不能更改程序
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: TestClass 1 TestClass2 注意:不要改动main函数,不能增行或删行,也不能更改程序
admin
2021-05-06
24
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
TestClass 1
TestClass2
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在 ∥********error********的下面。
#include
#include
struct TestClas0
{
∥********error********
virtual void fun();
};
class TestClassl:public
TestClass0
{
void fun()
{
cout<<“TestClassl”<
}
};
class TestClass2:public
TestClass0
{
void fun()
{
cout<<“TestClass2”<
}
};
void main()
{
TestClass0*P;
TestClassl obj 1;
TestClass2 obj 2;
∥********error********
P=*obj 1;
P一>fun();
∥********error********
P=*obj 2;
P一>fun();
return;
}
选项
答案
(1)virtual void fun()=0; (2)p=&obj 1; (3)p=&obj 2;
解析
本题程序中的功能为输出字符串TestClassl和TestClass2。从已定源程序的main主函数开始入手,通过定义的类,实现题目中要求的输出结果。
解题思路
(1)如果在基类中并不使用这个虚函数,其返回值也是没有意义的,它应该被定义为纯虚函数。所以虚函数fun()应该是纯虚函数,也就是声明虚函数的时候初始化为0的函数。即第1个标识下的“virtual void fun()=0;”。
(2)第2个标识下的p为指针变量,将对象objl赋值给p,实际上是p指向对象objl的地址,所以“p=*0bjl;”修改为“p=&obiil;”。
(3)第3个标识下的“p=*ob.i2;”语句同(2),修改为“p=&obj2;”。
转载请注明原文地址:https://jikaoti.com/ti/wih0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assBase{public:voidfun0{cout<<"Base::fun"<<end1;}
如果利用C++流进行输入输出,下面的叙述中正确的是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
下面描述中不属于数据库系统特点的是()。
支持子程序调用的数据结构是()。
下列关于模板的叙述中,错误的是()。
下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()。
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。
下列字符串中可以用作C++标识符的是()。
已知数组arr的定义如下:intarr[5]={1,2,3,4,5);下列语句中输出结果不是2的是()。
随机试题
欲用大黄攻下宜
仲裁申请书应当写清申请人和被申请人,仲裁请求、事实和理由、仲裁依据等也许情况,其中仲裁依据是指()。
以下作用中不属于永久作用的是哪项?
某项目部承建了总长为551m的斜坡式结构防波堤工程,采用扭王字块护面块体。问题:对其安装允许偏差有什么要求?
期货交易所有()情形之一的,责令改正,没收非法所得,并对直接负责的主管人员给予纪律处分,处以1万元以上10万元以下的罚款。
优秀班主任首先应立足于增强()。
以下哪个项目不属于流动资产?
有两个关系模式R(A,B,C,D)和S(A,C,E,G),则X=R×S的关系模式是________。
下列选项中,说法不正确的是()。
5,500yearsago
最新回复
(
0
)