首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,其中有线段类Line的定义。程序中位于每个“//ERROR **** found ****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point 1=(1,8),End po
请打开考生文件夹下的解决方案文件proj1,其中有线段类Line的定义。程序中位于每个“//ERROR **** found ****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point 1=(1,8),End po
admin
2020-04-07
54
问题
请打开考生文件夹下的解决方案文件proj1,其中有线段类Line的定义。程序中位于每个“//ERROR **** found ****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
End point 1=(1,8),End point 2=(5,2),length=7.2111。
注意:只修改每个“//ERROR **** found ****”下的那一行,不要改动程序中的其他内容。
#include<iostream>
#include<cmath>
using namespace std;
class Line;
double length(Line);
class Line{ //线段类
double 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{returnx1;}
double getY1()const{reLurny1;}
double getX2()const{returnx2;}
double getY2()const{returny2;}
void show()const{
cout<<"End point 1=("<<x1<<","<<y1;
cout<<"),End point 2=("<<x2<<","<<y2;
//ERROR ******* found *******
cout<<"),length="<<length(this)
<<"。"<<endl;
}
};
double length(Line 1){
//ERROR ******* found *******
return sqrt((1.x1一1.x2)
*
(1.xl—1.x2)+(1.yl一1.y2)
*
(1.y1一1.y2));
}
int main() {
Line rl(1.0,8.0,5.0,2.0);
r1.show();
return 0;
}
选项
答案
(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函数的形参是I,ine类,在void show()const函数里,this指针指向的是当前Line类,因此可以用* this表示当前Line类。
(3)主要考查考生对成员函数的掌握,length函数是类外函数,不能直接调用类的私有成员,因此要通过成员函数取得对应的值。
转载请注明原文地址:https://kaotiyun.com/show/ww8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBase{public:【】voidfun(){cout<<
假定动态分配一个类型为Worker的具有n个元素的数组,并由P指向这个动态数组,如果要释放这个数组,则使用的语句为【】。
假定A为一个类,则语句A(A&a);为该类______函数的原型说明。
对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()。
若有以下程序:#include<iostream>usingnamespacestd;intf(intx,inty){return(y-x)*x;}intmain()
在C++语言中,一个函数的定义前加上关键字【】时,该函数就声明为内联函数。
从工程管理的角度来看,软件设计分两步来完成。首先是概要设计,然后是【】。
有关构造函数的叙述不正确的是
数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
有如下类定义:classTest{chara:constcharb:public:Test(charc){a=c;b=c;}//第1行voidf(chara)const{this.>a=a;}
随机试题
为什么说德育过程是培养学生知、情、意、行的过程?德育工作具有多种开端是何道理?
根据《物权法》规定,登记机构不得有()行为。
有限责任公司注册资本的最低限额为人民币()万元。
《水土保持法》规定,在崩塌滑坡危险区和泥石流易发区禁止()。
A城是一个行业分工明确、工商户较为集中的中型城市,一般而言,最为适合A城的税收征收管理的形式是()。
羽扇纶巾,谈笑间,________________。(苏轼《念奴娇.赤壁怀古》)
桀犬吠尧:《史记》( )
根据侵权责任法规定,侵权人造成被侵权人残疾的,侵权人应当进行人身损害赔偿的范围包括()。
Untiltheverylatestmomentofhisexistence,manhasbeenBoundtotheplanetonwhichheoriginatedanddeveloped.Nowheha
Inasense,thenewprotectionismisnotprotectionismatall,atleastnotinthe【C1】______senseoftheterm.Theoldprotectio
最新回复
(
0
)