问答题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmj1,其中有点类Point和线段类Line和主函数main的定义,程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出应为: p1=(8,4)p2=(3,5) 注意:只修改两个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。#include<iostream>#include<cmath>using namespace std;clasS Point{ double x,Y;public: Point(double x=0.0,double Y=0.0)//ERROR**********found********** {X=x;Y=Y;) double getX()const(return X;) double getY()const{return y;}//ERROR**********found********** void show()const{cout<<’(’<<X<<’,’<<Y<<’)’)};clasS Line{ Point p1,p2;public: Line(Point pt1,Point pt2) //ERROR**********found********** {pt1=p1;pt2=p2;} Point getP1()const{return p1;} Point getP2()const{return p2;) }; int main(){ Line line(Point(8,4),Point(3,5)); cout<<”p1=”; line.getP1().show(); cout<<”p2=”; line.getP2().show(); cout<<endl; return 0; }
【正确答案】正确答案:(1):x(x),y(y){}或{this一>x=x,this一>y=y;} (2)void show()const{cout<<’(’<
【答案解析】解析:(1)主要考查考生对构造函数的掌握,因为形参名和私有成员名称一样,因此不能直接赋值,在这里使用成员列表初始化,也可以使用this指针赋值。 (2)主要考查考生对语句基本语法的掌握,根据语句: void show()eonst{eout<<’(’<