首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
68
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为
若下列程序运行时输出结果为1,A,10.12,B,3.5请将程序补充完整。#include<iostream>usingnamespacestd;intmain(){voidt
以下程序输出结果是______。#include<iostream.h>voidn(inti);voidf2(inti);charst[]=”Howdoyoudo!”;voidfl(inti){
有如下程序:#include<iostream>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(5);
在结构化方法中,软件功能分解属于下列软件开发中的阶段是()。
A、 B、 C、 D、 B在引用函数模板时,如果没在函数名和参数之间加上类型参数,就默认表示参数类型严格按照模板定义的类型匹配;如果在函数名和参数之间加上了类型参数,则对实参自动进行类型转换。
下面是类MyChss的定义,对定义中语句描述正确的是()。classMyClass{public:voidMyClass(inta){X=a;)//①intf(inta,intb)//②{X=
在C++中,编译时的多态性是通过模板或函数【12】实现的。
下列类模板的定义中语法格式错误的是
随机试题
间接血凝试验阳性
患者,男性,白血病需要进行化疗,为预防其不良反应,下列哪项护理措施不妥
同一供求范围或同一供求圈,是指与估价对象处在同一地域范围内的房地产。()
某国内汽车制造厂对中国经济增长潜力抱着乐观态度,除继续生产中等档次的车种外,在2009年开始生产高端越野车,希望吸引国内市场的高端消费者。在确定自身高端越野车市场的竞争力时,公司领导层认为应致力于形成现有和潜在顾客对本企业产品高端品牌的忠诚度,这也是竞争对
一个物流企业如何制定其培训的发展策略?
下列不属于哺乳类的动物是()。
一、注意事项1.申论考试是对应考者阅读能力、综合分析能力、提出和解决问题能力、文字表达能力的测试。2.参考时限:阅读资料40分钟,参考作答110分钟。3.仔细阅读给定资料,按照后面提出的“作答要求”作答。二、给定资料1.
根据下列材料回答问题。“十一五”期间,我国货物进出口总额累计116806亿美元。其中,出口总额63997亿美元,比“十五”期间增长1.7倍;进口总额52809亿美元,比“十五”期间增长1.4倍。“十一五”前两年,我国货物进出口总额保持23%以上的
WhichstatementaboutBarthisNOTtrue?Theword"thrift"inparagraphIcouldbebestreplacedby______.
A、Fred.B、Joe.C、Marina.D、Solvit.BM:I’mabitworriedaboutJoe,Marina.Helooksverytired,andI’mgoingtoseehimwith
最新回复
(
0
)