首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
31
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
如下程序声明了一个使用两个通用数据类型的模板类dataClass,其中构造函数用于初始化两个数据成员,成员函数show用于输出两个数据成员的数值。#include<iostream>usingnamespacestd;______
下面程序的运行结果是______和______。#include<iostream.h)#defineN10#defines(x)x*x#definef(x)(x*x)voidmain(){inti1,
执行下列语句后,输出结果为()。cout.put(‘s’);cout<<‘c’<<‘a’;
有以下程序:#include<iostream>usingnamespacestd;classComplex{public:Complex(dOubler=0,dOublei=0):re(r),im
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是()。
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测刚进的操作是否失败的函数名是()。
在岂个容量为25的循环队列中,若头指针front=9,尾指针Year=16,则该循环队列中共有______个元素。
在数据库设计中,将E-R图转换为关系模式的过程属于()。
用树结构表示实体类型及实体间联系的数据模型称为______。
随机试题
大雾天在高速公路遇事故不能继续行驶时怎样处置?
以下哪种疾病不属于结缔组织疾病:
脊柱侧凸最常见的类型是
中药全浸膏粉制颗粒,常选用的润湿剂是
项目还本资金来源主要有()。
按国家建设部规定,工程项目总造价中应预留()的尾留款作为质量保修费,待工程项目保修期结束后最后拨付。
2014年7月1日,某公司按面值发行总额为6000万元,期限为5年,票面年利率为5%,到期一次还本付息的债券。2015年12月31日,该债券的账面价值为()万元。
Toavoidthevariousfoolishopinionstowhichmanisliable,nosuperhumangeniusisrequired.Afewsimpleruleswillkeepyou
Menhavedistinguishedthemselvesfromotheranimals,andindoingsosecuredtheirsurvivalbytheabilitytoobserveandunder
Formanypeopletoday,readingisnolonger【S1】______.Tokeepuptheirworktheymustreadletters,reports,tradepublicatio
最新回复
(
0
)