首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 10 TestClass1 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//****
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出: 10 TestClass1 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//****
admin
2019-05-14
59
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:
10
TestClass1
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
1 #include<iostream>
2 Class TestClass1
3 {
4 public:
5 TestClass1(){
6 };
7 //********error+********
8 private:
9 virtual~TestClass1()
10 {
11 using namespace std;
12 cout<<’’TestClass1’’<<end1;
13 };
14 };
15 class TestClass2:public TestClass1
16 {
17 public:
18 //********error********
19 explicit TestClass2(int i)
20 {
21 m_i=i;
22 };
23 TestClass2& operator()(int i)
24 {
25 this一>m_i=i;
26 }
27 void print()
28 {
29 //********error********
30 cout<<m_i<<end1;
31 }
32 private:
33 int m_i;
34 };
35 void fun(TestClass2 C1)
36 {
37 C1.print();
38 }
39 int main()
40 {
41 fun(10);
42 return 0;
43 }
选项
答案
(1)删除“private:”语句 (2)TestClass2(int i) (3)std::cout<<m_i<<std::end1;
解析
程序要求输出值为10,TestClass1。从己给定源程序的main主函数开始入手,main主函数首先调用fun函数,fun调用TestClass2中的print()函数,其中TestClass2继承了TestClass1。
(1)第1个标识下的“virtual~TestClass1()”语句是TestClass1()析构函数,不是私有函数,所以删除“private:”。
(2)“explicit TestClass2(int i)”构造函数语句中的“explicit”是禁止隐式转换。程序中无法实现对类TestClass2的直接使用,所以这里应该将其删除。即“TestClass2(int i)”。
(3)第3个标识下实现,fun函数中m_i的标准输出,即在屏幕上输出10。在程序中用到C++标准库时,要使用std标准命名空间进行限定。cout为标准库函数,所以要声明cout是在命名空间std中定义的流对象,即“std::cout<<m_i<<std::end1;”或者添加“using namespace std;”。
转载请注明原文地址:https://kaotiyun.com/show/ME8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespaeestd;classAnimal{public:virtualchar*getType()const{return"Anim
派生类的构造函数的成员初始化列表中,不能包含()。
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
关于函数重载,下列叙述中错误的是()
执行语句:{cout<<setfill(’*’)<<setw(10)<<seffill(’#’)<<left<<123<<"0K"<<end1;return0;}后将输出()。
下面关于构造函数和析构函数的描述,错误的是()。
有如下程序:#include<iostream>usingnamespacestd;voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={
程序中有如下语句:for(inti=0;i<5;i++)cout<<*(p+i)<<",";能够依次输出int型一维数组DATA的前5个元素。由此可知,变量p的定义及初始化语句是______。
有如下程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(’A’){cout<<1;}Con(
有如下程序:#include<iostream>usingnamespacestd;classA{public:staticinta;voidinit(){a=1;}A(inta=2){
随机试题
克罗恩病患者粪便性状的特点多为
梨形心脏见于
某工业项目厂房主体结构工程的招标公告中规定,投标人必须为国有一级总承包企业,且近3年内至少获得过1项该项目所在省优质工程奖;若采用联合体形式投标,必须在投标文件中明确牵头人并提交联合投标协议,若某联合体中标,招标人将与该联合体牵头人订立合同。该项目的招标
()对煤矿企业实际生产条件和安全条件进行审查是否符合煤炭生产许可证条件。
下列关于建筑材料力学性能的表述,哪项是正确的?()
恩格斯指出:“所谓主观辩证法,即辩证的思维,不过是自然界中到处盛行的对立中的运动的反映。”主观辩证法与客观辩证法的关系是()
UNIX.提供了多种通信机制,其中不包括()
两个或两个以上模块之间关联的紧密程度称为
Nowadays,people’slifestylesarechanging,whichhasresultedinthedemandforfastfoods.Infact,onebacteriumcangrowve
IfyouknowEnglish,youcantravelallovertheworld______.(不会被人误解)
最新回复
(
0
)