问答题
请使用VC6或使用【答题】菜单打开考生文件夹pmj1下的工程pmj1,其中有点类Point和线段类Line和主函数main的定义,程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出应为:pl=(8,4)p2=(3,5)注意:只修改两个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。#include<iostream>#include<cmath>usingnamespacestd;clasSPoint{doublex,y;public:Point(doublex=0.0,doubley=0.0)//ERROR**********found**********{x=x;y=y;)doublegetX()const{returnx;}doublegetY()const{returny;)//ERROR**********found**********voidshow()const{cout<<'('<<x<<','<<Y<<')')};clasSLine{Pointp1,p2;public:Line(Pointpt1,Pointpt2)//ERROR**********found**********{pt1=p1;pt2=p2;)PointgetP1()const{returnp1;)PointgetP2()const{returnp2;)};intmain()(Lineline(Point(8,4),Point(3,5));cout<<"p1=";line.getP1().show();cout<<"p2=";line.getP2().show();cout<<end1;return0;}
【正确答案】正确答案:(1):x(x),y(y){}或{this->x=x,this->y=y;} (2)voidshow()const{tout<<'('<
【答案解析】解析:(1)主要考查考生对构造函数的掌握,因为形参名和私有成员名称一样,因此不能直接赋值,在这里使用成员列表初始化,也可以使用this指针赋值。 (2)主要考查考生对语句基本语法的掌握,根据语句:voidshow()const{eout<<'('<