首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中有类Point(“点”)、Rectangle(“矩形”)和Circle(“圆”)的定义。在程序所使用的平面坐标系统中,x轴的正方向是水平向右的,Y轴的正方向是竖直向下的。请在横线处填写适当的代码并删除横线,以
请打开考生文件夹下的解决方案文件proj2,其中有类Point(“点”)、Rectangle(“矩形”)和Circle(“圆”)的定义。在程序所使用的平面坐标系统中,x轴的正方向是水平向右的,Y轴的正方向是竖直向下的。请在横线处填写适当的代码并删除横线,以
admin
2020-07-23
57
问题
请打开考生文件夹下的解决方案文件proj2,其中有类Point(“点”)、Rectangle(“矩形”)和Circle(“圆”)的定义。在程序所使用的平面坐标系统中,x轴的正方向是水平向右的,Y轴的正方向是竖直向下的。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应该是:
--圆形----------
圆心=(3,2)
半径=1
面积=3.14159
--外切矩形------
左上角=(2,1)
右下角=(4,3)
面积=4
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<ioStream>
#include<cmath>
using namespace std;
//平面坐标中的点
//本题坐标系统中,x轴的正方向水平向右,y轴的正方向竖直向下。
class Point{
public:
Point(double x=0.0,doubley=0.0):x_(x),y_(y){}
double getX( )const{returnx;}
double getY( )const{return y;}
void setX(double x){x_=x;}
void setY(double y){y_=y;)
private:
double x_;//x坐标
double y_;//y坐标
};
class Rectanqle(
public:
Rectangle(Point p,intW,int h)
:point(P),width(W),height(h){}
double aEea( )const//矩形面积
{
return width*height;
}
Point topLeft( )const//左上角顶点
{
return point;
)
PointbottomRight( )const
//右下角顶点(注:y轴正方向竖直向下)
{
//*******found*******
return Point(_______);
}
private:
Point point;//左上角顶点
double width;//水平边长度
double height;//垂直边长度
};
//圆形
class Cirole{
public:
Circle(Point p,double r):center(p),radius(r){}
Rectangle boundingBox( )
conSt;
//外切矩形
double area( )const//圆形面积
{
//*******found*******
return PI*_______;}
public:
static const double PI;//圆周率
private:
Point center;//圆心
double radius;//半径
};
const double Circle::PI=3.14159;
RectangleCircle::boundingBOx
( )const
{
//*******found*******
Point pt(_______);
int w,h;
//*******found*******
w=h=_______;
return Rectangle(pt,w,h);
)
int main( )
{
Point p(3,2);
Circle c(p,1);
cout<<"--圆形--------\n";
cout<<"圆心=("<<P.getX( )<<’,’<<p.getY( )<<")\n";
cout<<"半径="<<1<<endl;
cout<<"面积="<<c.area( )<<endl<<endl;
Rectangle bb=c.boundingBox( );
Point t1=bb.topLeft( );
Point br=bb.bottomRight( );
cout<<"--外切矩形---------\n";
cout<<"左上角=("<<t1.getX( )<<’,’<<t1.getY( )<<")\n";
cout<<"右下角=("<<br.
getX( )<<’,’<<br.getY( )<<")\n";
cout<<"面积="<<bb.area( )<<endl;
return0;
}
选项
答案
(1)point.getX( )+width,point.getY( )+height (2)radius*radius (3)center.getX( )-radius,center.getY( )-radius (4)2*radius
解析
(1)主要考查考生对成员函数的掌握,程序要求返回右下角顶点,该点的x坐标为左上角顶点的x坐标加上width,该点的y坐标为左上角顶点Y坐标加上height,即return Point(point.getX( )+width,point.getY( )+height);。
(2)主要考查考生对成员函数的掌握,程序要求计算圆形面积,也就是返回圆面积,即return PI*radius*radius;。
(3)主要考查考生对成员函数的掌握,首先看函数声明:Rectangle Circle::boundingBox( )const,可知该函数要返回的是一个Rectangle类型,即要返回的是圆的外切矩形。再看Rectangle类的构造函数Rectangle(Point p,int w,int h),由此可知,空格处要定义的点pt为左上角点,即Point pt(center.getX( )-radius,center.getY( )-radius);。
(4)由函数声明和Rectangle类的构造函数可知,w和h应该为直径,即w=h=2*radius;。
转载请注明原文地址:https://www.kaotiyun.com/show/PQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如下类定义:classAA{inta;public:intgetRef()const{return&a;}//①intgetValue()const{returna;}
if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列表述中错误的是()。
有如下程序:#includeusingnamespacestd;classAppliance{public:Appliance(){}
下列有关类继承的叙述中,错误的是()。
有如下类定义:classMyClass{public:MyClass(doubled=0.0):val(d){}______________/
下列有关虚函数的表述中正确的是
软件设计中模块划分应遵循的准则是( )。
下列字符串中,不可以用做C++标识符的是()。
请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doe类的对象myDoc中。然后将my
下列叙述中,不属于软件需求规格说明书的作用的是()。
随机试题
甲型和乙型强心苷结构主要区别点是
A.发热期B.低血压期C.少尿期D.多尿期E.恢复期流行性出血热患者,出现酒醉面容是哪期()
联合使用可提高芍药甘草汤疗效的西药是
某男性,42岁,突起阵发性腹痛,伴腹胀、呕吐2天。体温38℃,脉搏93次/min,血压13.3/8kPa,腹部饱满、胀气,除右下腹部有压痛外,其余腹部无压痛、反跳痛和肌紧张,肠鸣音亢进,腹部X线检查发现小肠高度胀气、扩张,并有多个液气平面,未见结肠胀气,应
我国明代著名航海家郑和是( )人。
债务人甲怠于行使其对乙的到期债权,对债权人丙造成损害的,债权人丙可以向人民法院请求以自己的名义代为行使债务人的债权。但债权人丙提起代位权诉讼,应当符合的条件不包括()。
下列属于马克思根据人的发展状况,划分的人类历史“三大形态”是()。
贵州民族文化源远流长,丰富多彩,是中华民族文化宝库中的瑰宝之一。山多洞穴多,温和湿润的自然环境,五大古族长期交往、结集的社会历史背景,铸就了贵州民族文化诸多的特色和深厚的底蕴。山川的纵横交错虽不便于交通,客观上却有利于民族文化的积淀与传承。各民族大杂居小聚
某初中三个年级男女人数之比为3:2,已知七、八、九三个年级人数之比为10:8:7,七年级男女之比是3:1,八年级男女之比是5:3,九年级男女人数之比为多少?()
Mrs.Whitehadtwochildren.Sammywasseven,andhissisterAnniewasfour.Sammywenttoschool,butAnnicdidn’t.WhenSammy
最新回复
(
0
)