首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定
admin
2017-02-21
63
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.cpp,其中包含测试类Shape、Point和Triangle的程序语句。请在程序中的横线处填写适当的代码并删除横线,以实现上述功能。此程序的正确输出结果应为:
此图形是一个抽象图形,周长=0,面积=0
此图形是一个三角形,周长=6.82843,面积=2
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//shape.h
class Shape{
public:
virtual double perimeter()
const {return 0;} //返回形状的周长
virtual double area()const{return 0;} //返回形状的面积
virtual const char * name()
const {return"抽象图形")//返回形状的名称
};
class Point{//表示平面坐标系中
的点的类
double x;
double y;
public:
//**********found**********
Point(double x0,double y0):
_______{}//用x0、y0初始化数据成员x、y
double getX () const{return x,}
double gety () const{return y;}
};
class Triangle:public Shape{
//**********found**********_______;
//定义3个私有数据成员
public:
Triangle(Point p1,Point p2,
Point p3):pointl(p1),point2
(p2),point3(p3){)
double perimeter()cons t;
double area()const;
const char *name()const{return"三角形";}
};
//shape.cpp
#include"shape.h"
#include<cmath>
double length(Point p1,Point
p2)
{
return sqrt((p1.getX()-p2.getX()) * (p1.getX()-p2.getX())+(p1.getY()-p2.getY()) * (p1.getY()-p2.getY()));
}
double Triangle∷perimeter
()const
{//一个return语句,它利用
length函数计算并返回三角形的周长
//**********found**********
_______;
}
double Triangle∷area()const
{
double s=perimeter()/2.0;
return sqrt(s * (s-length
(point1,point2))*
(s-length(point2,point3))*
(s-length(point3,point1)));
}
//proj2.cpp
#include"shape.h"
#include<iostream>
using namespace std;
//********found********
_______
//show函数的函数头(函数体以前的部分)
{
cout<<"此图形是一个"<<shape.
name()<<",周长="<<shape.
perimeter()<<",面积="<<
shape.area()<<end1;
}
int main()
{
Shape s;
Triangle tri(Point(0,2),Point(2,0),Point(0,0));
show(s);
show(tri);
return 0;
}
选项
答案
(1)x(x0),Y(y0) (2)Point point1,point2,point3 (3)return length(point1,point2)+length(point1,point3)+length(point2,point3) (4)void show(Shape&shape)
解析
(1)主要考查考生对构造函数的掌握,题目要求用x0、y0初始化数据成员x、y,因此在这里使用成员列表初始化,即Point(double x0,double y0):x(x0),
y(yo){}。
(2)主要考查考生对构造函数的掌握,题目要求定义3个私有数据成员。由构造函数可知3个私有数据成员的类型都是Point,名称分别为point1、point2和point3,因此空格处填写:Point point1,point2,point3。
(3)主要考查:考生对成员函数的掌握,题目要求使用return语句,利用length函数计算并返回三角形的周长。
length函数返回的是两点间的距离,因此return语句只要返回三角形三条边的距离和,即为三角形的周长。
(4)主要考查考生对成员函数的掌握,这里要定义show函数的函数头(函数体以前的部分)。由主函数main中show函数的使用情况show(s)和show(tri)可知,s是Shape类,tri是Triangle类,因为Triangle是Shape类的派生类,所以可知show函数的参数是Shape类型,无返回值,得出语句void show (Shape&shape)。
转载请注明原文地址:https://kaotiyun.com/show/B6Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
为了便于对照检查,测试用例应由输入数据和预期的【】两部分组成。
当要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文件开始处使用#include命令,使之包含()文件。
若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)()。
下面程序错误的语句是#include“iostream.h”①voidmain()②{③intA=0;④int&B;⑤B=A;⑥cout<<B;
有以下程序:#include<iostream>#include<fstream>usingnamespacestd;intmain(){fstreamfile;file
下列数据结构中,能直接使用堆排序法进行排序的是
若需要定义一个标识符常量,并且使得C++能够进行类型检查,则应在定义语句的开始使用保留字【 】。
若有以下定义和语句 int a=4,b=3,*p, *q, *w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
执行完下列代码段之后:boolx=true,y=false,z=false;x=x&&y||z;y=x||y&&z;z=!(x!=y)||(y==z);则x=false,y=false,z=(
随机试题
下列各项中,哪项因素与有机磷中毒有关
国内贸易通常采用的交货价不包括()。
题31-34:某抗震设防烈度为8度的多层砌体结构住宅,底层某道承重横墙的尺寸和构造柱设置如图1-11所示。墙体采用MUl0级烧结多孔砖、M10级混合砂浆砌筑。构造柱截面尺寸240mm×240mm。采c25混凝土,纵向钢筋为HRB335级414,箍筋
基金相关当事人不包括()。
黄河公司因技术改造需要,2019年拟引进一套生产线,有关资料如下:(1)该套生产线总投资520万元,建设期1年,2019年年初投入100万元,2019年年末投入420万元。2019年年末新生产线投入使用,该套生产线采用年限平均法计提折旧,预计使用年限为5
税务机关在调查税收违法案件时,经()批准,可以查询案件涉嫌人员的储蓄存款。
下列选项中,可以联合行文的有()。
攻击者使用无效的IP地址,利用TCP连接的三次握手过程,使得受害主机处于开放会话的请求之中,直至连接超时。在此期间,受害主机将会连续接受这种会话请求,最终因耗尽资源而停止响应。这种攻击被称为()。
日本に来て初めての春、面白かったのは花見という習慣です。もちろん私の国でも、花を見て、皆で楽しみますが、日本のように桜という特別な花のための特別な習慣はありません。でも、一番驚いたのは特別な習慣があることではなくて、三月の終わりごろから、四月の初
Acommonassumptionabouttheprivatesectorofeducationisthatitcatersonlytotheelite.【C1】______,recentresearchpoints
最新回复
(
0
)