首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point1=(1,8),End point2=(5,
请打开考生文件夹下的解决方案文件proj1,其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point1=(1,8),End point2=(5,
admin
2018-07-06
46
问题
请打开考生文件夹下的解决方案文件proj1,其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
End point1=(1,8),End point2=(5,2),length=7.2111。
注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。
#include<iostream>
#include<cmath>
using namespace std;
class Line;
double length(Line);
class Line(//线段类
doub2e x1,y1;//线段端点1
double x2,y2;//线段端点2
public:
//ERROR*******found*******
Line(double x1,double y1,double x2,double y2)const{
this->x1=x1;
this->y1=y1;
this->x2=x2;
this->y2=y2:
}
double getX1( )const{return x1;}
double getY1( )const{return y1;}
double getX2( )const{return x2;}
double getY2( )const{return y2;}
VOid show( )const{
cout<<"End point1=("<<x1<<","<<y1;
cout<<"),End point2=("<<x2<<","<<y2;
//ERROR*******found*******
cout<<"),length="<<length(this)
<<"。"<<endl;
}
};
double length(Line1){
//ERROR*******found*******
return sqrt((1.x1-1.x2)*(1.x1-1.x2)+(1.y1-1.y2)*(1.y1-1.y2));
}
int main( ){
Line r1(1.0,8.0,5.0,2.0);
r1.show( );
return0;
}
选项
答案
(1)Line(double x1,double y1,double x2,double y2){ (2)cout<<"),length="<<length(*this)<<"。"<<endl; (3)return sqrt((1.getX1( )-1.getX2( ))*(1.getX1( )-1.getX2( ))+(1.getY1( )-1.getY2( ))*(1.getY1( )-1.getY2( )));
解析
(1)主要考查考生对构造函数的掌握,构造函数要给私有成员赋初始值,因此不能使用const来限制。
(2)主要考查考生对this指针的掌握,由函数length的声明double length(Line);可知,length函数的形参是Line类,在void show( )const函数里,this指针指向的是当前Line类,因此可以用*this表示当前Line类。
(3)主要考查考生对成员函数的掌握,length函数是类外函数,不能直接调用类的私有成员,因此要通过成员函数取得对应的值。
转载请注明原文地址:https://kaotiyun.com/show/VAAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有下列程序:#include<iostream>usingnamespacestd;classVAC{public:intf()const{return3;}
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a>-b)?a:b;}下列对函数模板Max()的调用中错误的是()。
执行语句序列inti=0;while(i<25)i+=3;cout<<i;输出结果是()。
在面向对象方法中,()描述的是具有相似属性与操作的一组对象。
算法复杂度主要包括时间复杂度和______复杂度。
执行下列语句后,输出结果为()。cout.put(‘s’);cout<<‘c’<<‘a’;
若有定义语句:int*a,b;,则变量b的数据类型是______。
数据的存储结构是指()。
有如下语句序列:intk=0:do{k+=5;cout<<’$’;}while(k<19);while(k-->0)cout<<’*’执行上面的语句序列输出字符“$”和“*”的个数分别是(
函数定义的格式是______函数名(形式参数表)函数体。
随机试题
车削工件外圆,选用背吃刀量2mm,在圆周等分为200格的中滑板刻度盘上正好转过1/4周,求刻度盘每格为多少毫米?中滑板丝杠螺距是多少毫米?
求下列向量组的秩:
关于截瘫患者使用轮椅,下列哪项正确
正常情况下,肺通气阻力主要来自
某企业计划在2015年年末购入一台价值为2000万元的新设备,若筹款年利率为10%,则2012年至2014年每年年末应等额筹款()万元。[注:(A/F,10%,4)=0.21547,(A/F,10%,3)=0.30211,(A/P,10%,3)
如果李凌面临一个月投资项目:70%的概率在一年内让自己的投资基金额翻倍,30%的概率让自己的投资金额减半。则该项投资收益率的标准是()。
A公司2015年年末的留存收益为200万元,预计2016年年末的留存收益为250万元,假设2016年公司处于平衡增长,并且可持续增长率为10%,预计A公司2016年年末的股东权益为()万元。
Areyougoingtoleave______?
Barclays(BCS),inthewakeofits£290million($360million)fineformanipulatingtheLiborrate,recentlyannounceditwascomm
Frenchareelegantpeople.Theyareartistsineverydaylife,havingaverygoodtasteineverything.Theydon’tlikeAmericant
最新回复
(
0
)