首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12 Area
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下: Constructor. Default constructor. Area is 12 Area
admin
2015-05-30
71
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下:
Constructor.
Default constructor.
Area is 12
Area is 0
Area is 12
注意:错误的语句在//********error********的下面,修改该语句即可。
1 #include
2 class CRectangle
3 {
4 private:
5 double length,width;
6 public:
7 CRectangle()
8 {
9 cout<<"Defaultconstructor.\n";
10 }
11 CRectangle(double 1,double w)
12 {
13 length=l ; width=w;
14 cout<<”Constructor.\n";
15 }
16 void Set(double 1,double w)
17 {
18 this->length=l;
19 this->width=w;
20 }
21 void GetArea()
22 {
23 cout<<"Area is"<
24 }
25 };
26 void main()
27 {
28 CRectangle Rectl(3.0,4.0);
29 //********error********
30 CRectangle Rect2(1);
31 //********error********
32 CRec七angle Rect3;
33 Rectl.GetArea();
34 //********error********
35 Rect2.Set(0);
36 Rect2.GetArea();
37 Rect3.GetArea();
38 }
选项
答案
(1)CRectangle Rect2; (2)CRectangle Rect3(Rectl); (3)Rect2.Set(0,0);
解析
程序中定义了类CRectangle,有length和width两个成员变量,两个构造函数,Set()成员函数和GetArea0成员函数,Set()成员函数可以改变length和width的值,GetArea()成员函数在屏幕上打印length和width的积。
[解题思路]
(1)构造函数CRectangle()不带有参数,CRectangle(double 1,double w)带有2个参数,在创建对象时会自动调用构造函数,但是参数必须匹配,第1个标识下定义Rect2对象时,有一个参数,而类CRectangle()中并没有重载一个参数的构造函数,编译后出错,因此第l标识下应改为“CRectangle Rect2;”。
(2)Rect3.GetArea()输出的结果和Rectl.GetArea0输出结果一致,因此对象Rect3和对象Rectl两者具有相同的length和width值,除定义Rect3对象之外没有改变Rect31的length和width值,因此Rect3成员变量的初始化是通过拷贝构造函数类实现的,即用Rectl对象去初始化Rect3,因此第2个标识下应改为“CRectangle Rect3(Rectl);”。
(3)Rect2.GetArea0的输出结果为0,说明Rect2的成员变量length和width值至少一个为0,而Set()函数必须有两个参数,这里Rect2.Set(0)参数不匹配,应改为“Rect2.Set(0,0);”或者“Rect2.Set(0,5)”,两个参数当中至少一个为0即可。
转载请注明原文地址:https://kaotiyun.com/show/3PNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知函数fp的原型是:intfp(charc,char*k=NULL,doubled=10.0);下列调用中正确调用fp的是
在函数中,可以用auto、extem、register和static四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
阅读以下程序,此程序的功能是【】。#include<iostream.h>voidmain(){intn,i,j;for(i=100;i<999;i+100)for(j
假定MyClass为—类,执行MyClassa[3],*p[2];语句时会自动调用该类构造函数()次。
在深度为5的满二叉树中,叶子结点的个数为()。
程序段的输出结果是【】。inta=12,b=12;cout<<--a<<“”<<++b;
以下程序的执行后,x和y的值是______。#include<iostream.h>classSample{public:intx;inty;
下列叙述中不属于结构化程序设计方法的主要原理的是______。
当将E-R模型转换为关系模型时,对于两实体间m:n联系,必须对“联系”单独建立______,用来联系双方实体。
以下函数模板max的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti=1;i<n;i++)
随机试题
穆旦所属的诗歌流派是()
导致慢性胎儿窘迫的原因是
髓室顶髓室底
豆蔻、肉豆蔻都具有的功效是()
计划管理是承包人国际工程实施阶段的中心,也是项目( )的具体化。
银团贷款是指由两家或两家以上银行(),按约定时间和比例,通过代理行向借款人提供的本外币贷款或授信业务。
(),能散,能行,具有发汗、行气等作用,适用于表证与气滞血瘀之证。
R医院连续5年在C市举办的“我最满意的医院"调查中高居榜首.该医院负责人表示。这是由于该医院提供了比其他医院更加优质的导诊服务。以下哪项为真,最能支持该医院负责人的观点?
1922年召开的中共二大第一次明确提出了()
ManagementinCyberspaceVirtualrealityisoftenusedtomimichazardousenvironments—cockpitsofcombataircraft,burning
最新回复
(
0
)