首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹pmjl下的工程pmjl。其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point 1=(1,8
请使用VC6或使用【答题】菜单打开考生文件夹pmjl下的工程pmjl。其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是: End point 1=(1,8
admin
2017-07-04
77
问题
请使用VC6或使用【答题】菜单打开考生文件夹pmjl下的工程pmjl。其中有线段类Line的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
End point 1=(1,8),End point 2=(5,2),length=7.2111。
注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。
#include
#include
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 yl,double
x2,double y2)const{
this->x1=x1;
this->y1=y1;
this->x2=x2;
this->y2=y2;
}
double getX1()const{return x1;}
double getYl()const{return y1;}
double getX2()const{return x2;}
double getY2()const{return y2;}
void show()const{
tout<<”End point 1=(”<
<
cout<<”),End point 2=(”<
<<”,”<
//ERROR********** found**********
cout<<”),length=”<
(this)
<<”o”<
}
};
double length(Line 1){
//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();
return 0;
}
选项
答案
(1)Line(double x1,double y1,double x2,double y2){ (2)cout<<”),length=”<
解析
(1)主要考查考生对构造函数的掌握,构造函数要给私有成员赋初始值,因此不能使用eonst来限制。
(2)主要考查考生对this指针的掌握,由函数length的声明double length(Line);可知,length函数的形参是Line类,在void show()const函数里,this指针指向的是当前Line类,因此可以用*this表示当前Line类。
(3)主要考查考生对成员函数的掌握,length函数是类外函数,不能直接调用类的私有成员,因此要通过成员函数取得对应的值。
转载请注明原文地址:https://kaotiyun.com/show/QLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在最坏情况下,冒泡排序所需要的比较次数为【 】。
设有如下说明 typedef struct {int n;char c;double x;}STD; 则有以下选项,能正确定义结构体数组并赋初值的语句是
以下程序的输出结果是 int a, b; void fun() {a=100; b=200; } main() { int a=5, b=7; fun(); cout<<a<<b<<e
为了避免嵌套的if...else语句的二义性,C++规定与else配对的是
下列程序的输出结果是【 】。#include<iostream.h>voidmain(){chara[]="abcdabcabfgacd"inti1=0,i2=0,i=0;while(a[i]){
关于友元的描述中错误的是
有以下程序 main() {int i=10,j=1; cout<<i--<<","<<++j<<endl; 执行后输出结果是
在关系数据库中,用来表示实体之间联系的是【 】。
有如下类声明;classSAMPLE{intn;public:SAMPLE(inti=0):n(i){}voidsetValue(intn0);}
C++本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由类istream和()提供。
随机试题
公元前450年以前,罗马国家法律的基本渊源为()
老视的原因主要是
侵蚀性葡萄胎患者出院随访期间宜选择的避孕方法是
灰黄霉素可用于哪些癣病的治疗:
某生化指标在人群中为正态分布,制订其正常参考值范围通常用
有一条长直的棱柱形渠道,梯形断面,底宽b=2.0m,边坡系数m=一1.5,存设计流量通过时,该渠道的正常水深(渠道设计深度)为()。
张某、李某、丙有限责任公司和丁有限责任公司共同出资设立了A有限合伙企业,丙、丁两家公司为有限合伙人。该企业在经营过程中出现以下问题:(1)丙公司认为自己出资最多,应当成为合伙企业事务执行人,但张某和李某不同意,最后决定由张某担任合伙企业事务执行人
(a)什么人会被指定为遗产执行人?(b)什么是过错遗嘱执行人?(1985年4月)
Americansuffersfromanoverdoseofwork【C1】______whotheyareorwhattheydo.Theyspend【C2】______timeatworkthanatanyti
Pleasegiveusthereason______thegoodsweredelayed.
最新回复
(
0
)