首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件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
394
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为
要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是
下列对模板的声明中,正确的是()。
有如下程序:#include<iostream>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(5);
下面程序输出的结果是()。#include<iostream>usingnamespacestd;intfuc(char*x);intmain(){cout<<fuc("hello")<<
下列关于getline()函数的描述中,不正确的是()。
程序设计语言的工程特性之一为()。
指针变量所保存的不是一般的数据值,而是程序中另一个对象的______。
下列描述中,错误的是()。A)公有继承时基类中的公有成员在派生类中仍是公有成员B)公有继承时基类中的保护成员在派生类中仍是保护成员C)保护继承时基类中的公有成员在派生类中仍是公有成员D)保护继承时基类中的保护成员在派生类中仍是保护成
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。
随机试题
英特尔公司的“招聘三部曲”包括【】
A.脑血栓形成B.脑栓塞C.蛛网膜下腔出血D.脑出血E.短暂性脑出血男性,48岁,打牌时突感头痛、颈部僵硬。CT示脑池内高密度影,正确的诊断是
关于良性肿瘤特点的叙述,哪项是错误的()
患者王某,男,56岁,工人。因前胸、后背持续性疼痛、呈阵发性加剧入院。住院期间多次发作,自述左胸疼痛剧烈、呼吸困难,有濒死感。几乎每次发作都是夜间11点~1点,治疗后可好转。每次发作都强烈要求护士打电话叫儿女到场。各项检查显示,诊断冠心病比较勉强。一周后值
任某门前公路上有一泥沟。某日,一货车经过泥沟,由于颠簸掉落货物一件,被任某拾得据为已有。任某发现有利可图,遂将泥沟挖深半尺。次日,果然又拾得两袋车上颠落的货包。关于任某行为的性质,下列哪一选项是正确的?()
下列说法中正确的是:
弯沉代表值大于设计验收的弯沉值时相应分项工程为不合格。()
任何会计主体都必须设置的账簿有()。
______是通过学习而形成的、影响个人的行为选择的内部准备状态或反应的倾向性。
关于函数声明格式中的,下列叙述错误的是
最新回复
(
0
)