首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
43
问题
使用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全国计算机二级
相关试题推荐
设有如下关系表:则下列操作中正确的是()。
不能把字符串“Hello!”赋给数组的语是______。
数据的逻辑独立性是指______。
有以下类定义。classMyClass{private:intid;chargender;char*phone;public:MyClass():id(0),g
从键盘上输入XXYYZZXYZWXP和X,以下程序的输出结果是【】。#include<iostream.h>#include<string.h>voidmain(){char*str,ch;intc
有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}
已知n是一个int型变量,下列语句中错误的是______。
针对数组定义intdata[10];,下列表述中错误的是______。
在关系数据库中,用来组织索引结构联系的是()。
在进行任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是
随机试题
读下面这段话,分析它揭示的是艺术活动中的什么现象。江馆清秋,晨起看竹,烟光日影露气,皆浮动于疏枝密叶之间。胸中勃勃,遂有画意。其实胸中之竹并不是眼中之竹也。因而磨墨展纸,落笔倏作变相。手中之竹又不是胸中之竹也。总之,意在笔先者,定则也;趣在法外者,化机也
依据()的规定,出租是出租人将权利租给承租人使用一定的年限,只是自己不直接使用土地。
该银行第一笔业务应纳营业税( )万元该银行第二笔业务应纳营业税( )万元
某企业现着手编制2013年6月份的现金收支计划。预计2013年6月月初现金余额为8000元;月初应收账款4000元,预计月内可收回80%;本月销货50000元,预计月内收款比例为50%;本月采购材料8000元,预计月内付款70%;月初应付账款余额5000元
下列有关辞退福利的表述中不正确的是()。
某企业的人力资源主管调查发现,提高应聘标准并不是引起目前企业员工短缺的主要原因。引起企业员工短缺的主要原因,是近年来企业工作设备的改进缓慢,以及员工的工资增长未能与其他企业同步。以下哪项如果为真,最能加强上述断定?()
有三个关系R、S和T如下:则关系T是由关系R和S通过某种操作得到,该操作为( )。
请在【答题】菜单下选择【进入考生文件夹】命令,并按照题目要求完成下面的操作。注意:以下的文件必须都保存在考生文件夹下。在考生文件夹下打开文档WORD.DOCX。【背景素材】为了更好地介绍公司的服务与市场战略,市场部助理小王需要协助制作完成公司战略规
Incollege,Iencounteredaruleofthumb:Foreverycredithourperweek,youshouldbestudyingtwotothreehours【C1】________
Theuseoffireimprovedearlyman’slifeinmanyways.【B1】______madehisfoodmore【B2】______.Smokingand【B3】______foodmad
最新回复
(
0
)