首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
389
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
执行这个程序的输出结果是();#include<iostream>usingnamespacestd;classTestClass1{public:voidfun1(){cout<<"
关系数据模型由关系数据结构、关系操作集合和【】三大要素组成。
模板函数的真正代码是在()时候产生。
在结构化方法中,软件功能分解属于下列软件开发中的阶段是()。
如下程序执行后的输出结果是【】。#include<iostream>usingnamespacestd;classBase{public:Base(intx,inty)
非成员函数应声明为类的【】函数才能访问这个类的private成员。
以下C++语言中用于单行注释的是
下列描述中,错误的是()。A)公有继承时基类中的公有成员在派生类中仍是公有成员B)公有继承时基类中的保护成员在派生类中仍是保护成员C)保护继承时基类中的公有成员在派生类中仍是公有成员D)保护继承时基类中的保护成员在派生类中仍是保护成
有如下类定义:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point类的静态成员how_many,在下画线处应填入的内容是
数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
随机试题
某产品2016年1月的生产及材料消耗情况如下表。根据上述资料,采用因素分析法依次对产量、单位产品材料消耗量、材料单价三个因素对材料费用总额的影响程度进行分析。要求:计算材料单价提高对材料费用总额的影响。
Conversationbeginsalmostthemomentwecomeintocontactwithanotherandcontinuesthroughouttheday【C1】______theaidofcel
医师在执业活动中履行下列义务,除了
根据《证券法》和《公司法》的规定,下列关于证券交易限制情形的表述哪些是正确的?
把铁片分别放入下列物质的溶液中,若铁片溶解,无气体产生,溶液质量减轻,则原溶液是()。
王某购买了某住宅楼小区某栋号三层的一个三居室。在装修过程中,王某擅自将一承重墙拆除。有关部门发现后,责令其改正,并可处以( )罚款。
有人建议朱老师对违纪的学生进行罚款,朱老师拒绝了这一建议,这体现了朱老师()。
Twoyearsago,RupertMurdoch’sdaughter,Elisabeth,spokeofthe"unsettlingdearthofintegrityacrosssomanyofourinstitut
已知Stringstr=newString("Luck");,则下列关于str的操作中不合法的是( )。
Inrecentyears,wehaveallwatchedtheincreasingcommercializationofthecampus.Thenumerousadvertisingpostersandthego
最新回复
(
0
)