首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的工程test21_3,此工程包含一个源程序文件test21_3.cpp,其中定义了用于表示长方形的类CRectangle,但类CRectangle的定义并不完整。请按要求完成下列操作,将类CRectangle的定义补充完整。
使用VC6打开考生文件夹下的工程test21_3,此工程包含一个源程序文件test21_3.cpp,其中定义了用于表示长方形的类CRectangle,但类CRectangle的定义并不完整。请按要求完成下列操作,将类CRectangle的定义补充完整。
admin
2010-02-08
36
问题
使用VC6打开考生文件夹下的工程test21_3,此工程包含一个源程序文件test21_3.cpp,其中定义了用于表示长方形的类CRectangle,但类CRectangle的定义并不完整。请按要求完成下列操作,将类CRectangle的定义补充完整。
(1)定义CRectangle的构造函数,函数含参数dx,dy,da和db,它们都是double型的数据,请将类数据成员x,y, a和b初始化,并输出“CRectangle Constructed.”(另起一行输出该文字)。请在注释“//**1**之后添加适当的语句。
(2)完成类CRectangle的成员函数getperimeter()的定义,将以a和b为边的矩形周长的值返回,请在注释“//**2**”之后添加适当的语句。
(3)完成类CRectangle的成员函数getarea()的定义,将以a和b为边的矩形面积的值返回,请在注释“//**3**”之后添加适当的语句。
(4)完成类CRectangle的友元函数friend double dist(CRectangle& rt)的定义,先定义两个double型的临时变量tx和ty,然后将参数对象rt的数据成员x与a的一半相加,y与b的一半相加,分别赋值给tx和ty,最后求出tx与ty的平方和的值之后将它的平方根返回,将请在注释“//**4**”之后添加适当的语句。
输出结果如下:
CRectangle Constructed.
Down_Left corner point is:(100,50)
a=1200,b=700
Perimeter of this rectangle is:3800
Area of this rectangle is:840000
The Distance is:806.226
CRectangle Constructed.
Down_Left corner point is:(200,150)
a=2000,b=800
Perimeter of this rectangle is:5600
Area of this rectangle is:1.6e+006
The Distance is:1320.04
CRectangle Destructed.
CRectangle Destructed.
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test21_3.cpp清单如下:
#include<iostream.h>
#include<math.h>
class CRectangle
{
private:
double x;
double y;
double a;
double b;
public:
CRectangle()
{
cout<<"\nCRectangle Constructed."<<endl;
}
CRectangle(double dx, double dy, double da, double db)
{
//**1**
a=da;
b=db;
cout<<"\nCRectangle Constructed."<<endl;
}
~CRectangle ( )
{
cout<<"CRectangle Destructed."<<endl;
}
void putxy(double dx, double dy){ x=dx; y=dy;}
void putab(double da, double db)( a=da; b=db;}
double getx(){ return x;}
double gety(){ return y;}
double geta(){ return a;}
double getb(){ return b;}
double getperimeter()
{
//**2**
}
double getarea()
{
//**3**
}
friend double dist(CRectangle& rt);
};
double dist(CRectangle& rt)
{
//**4**
ty=rt.y+rt.b/2.0;
return sqrt(tx*tx+ty*ty);
}
void main()
{
CRectangle rect;
rect.putxy(100.0, 50.0);
rect.putab(1200.0, 700.0);
cout<<"Down_Left corner point is: ("<<rect.getx() <<", "<<rect.gety()<<")" <<endl;
cout<<"a= "<<rect.geta()<<", b="<<rect.getb() <<endl;
cout<<"Perimeter of this rectangle is: "<<rect.getperimeter()<<endl;
cout<<"Area of this rectangle is:"<<rect.getarea()<<endl;
cout<<"The Distance is:"<<dist(rect)<<endl;
CRectangle recta(200,150,2000,800);
cout<<"Down_Left corner point is:("<<recta.getx()<<","<<recta.gety()<<")"<<endl;
cout<<"a="<<recta.geta()<<", b="<<recta.getb()<<endl;
cout<<"Perimeter of this rectangle is: "<<recta.getperimeter()<<endl;
cout<<"Area of this rectangle is: "<<recta.getarea()<<endl;
cout<<"The Distance is :"<<dist(recta)<<endl;
}
选项
答案
(1) x=dx; y=dy; (2) return2*(a+b); (3) return a*b; (4) double tx,ty; tx=rt.x+rt.a/2.0;
解析
本题主要考查考生对于类的定义和友元函数的定义的理解。注意(4)中使用了求开平方的数学函数sqrt。
转载请注明原文地址:https://kaotiyun.com/show/N7ID777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
简述法国《人权宣言》的内容及其意义。(四川大学2005年世界近现代史真题)
论述安史之乱及其影响。(华东师范大学2006年中国古代史真题)
简述晚清以降冗官现象的形成与原因。(复旦大学2016年历史学综合真题)
试述第一次世界大战后华盛顿体系的形成和瓦解。(黑龙江大学2013年历史学基础(世界史)真题)
关于实验教育学,下列说法不正确的是
下面说法错误的是()。
西周时期为保证适用法律的谨慎,防止错杀无辜,对犯罪事实有疑的案件,在司法审判中要经过()程序。
下面关于西周时期“礼”与“刑”关系的表述正确的有()。
已知当x>0时函数f(x)一sin(sinx)与x4是等价无穷小量,则f(x)的带皮亚诺余项的四阶麦克劳林公式是f(x)=_________.
下图是DHCP客户机获取IP地址等配置信息时,使用Wireshark软件捕获报文中编号为26~29的4条报文,图中对编号为29的报文进行了解析。分析图中的信息并补全图中【11】~【15】处的信息。
随机试题
绿化土方工程的设计图用等高线或方格标高均可。
简述行政发展的内外部阻力。
商品低于国际市场价格的垄断低价被称为()
中国近代史上中国人民第一次大规模的反侵略武装斗争是()
场景水是一种溶解能力较强的溶剂。水在自然界循环过程中会混入各种各样的杂质,这些杂质,尤其是生活和生产污水中所含的杂质进入天然水体都会引起各种污染,甚至改变天然水体原有的物质平衡状态,破坏人类周围的自然环境,给人类社会的生活和生产带来极其恶劣的影响。根据
在教学《谁是最可爱的人》时,老师问:“谁是最可爱的人呢?”一个学生站起来说:“老师,我是不是最可爱的人呢?”老师说:“你热爱劳动,乐于助人,你是可爱的人。如果你能按时完成作业,认真听讲,上课积极发言,那么你也是最可爱的人。”该教师运用了哪些德育原则(
求曲线y=3-|x2-1|与x轴围成的封闭图形绕y=3旋转一周所得的旋转体的体积.
AUniversityofNebraskaprofessorhasdevelopedroboticconesandbarrels.(41)______Theycanevenbeprogrammedtomoveonthe
为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为()。
What’sthewoman’sopinionofthemovie?
最新回复
(
0
)