首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
admin
2018-09-22
61
问题
请打开考生文件夹下的解决方案文件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{return0;}//返回形状的周长
virtual doublearea( )const{return0;}//返回形状的面积
virtual const char*name( )const{return"抽象图形";}//返回形状的名称
};
class Point{//表示平面坐标系中的点的类
double x;
double y;
public:
//*******found*******
Point(double x0,doub2e 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):point1(p1),point2(p2),point:3(p3){}
double perimeter( )const;
double area( )const;
const char*narne( )const{return"三角形";}
};
//shape.cpp
#include"shape.h"
{}include<cmath>
double length(Point p1,Pointp2)
{
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,pointl)));
}
//proj2.cpp
#include"shape.h"
#include<iostream>
using namespace std;
//*******found*******
_______
//show函数的函数头(函数体以前的部分)
{
cout<<"此图形是一个"<<shape.name( )<<",周长="<<shape.perimeter( )<<",面积:"<<shape.area( )<<endl;
}
int msin( )
{
Shape s;
Triangle tri(Point(0,2),Point(2,0),Point(0,0));
show(s);
Show(tri);
return0;
}
选项
答案
(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(y0){}。
(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/UfAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于C++函数的叙述中,正确的是()。
结构化程序设计的核心和基础是()。
数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于【】。
有如下函数模板定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是()。
有下列程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(’A’){
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
相对于数据库系统,文件系统的主要缺陷有数据关联性差、数据不一致性和
main函数中发生编译错误的语句是______。#include<iostream.h>classA{public:inta;constintb;A():a(10
结构化程序设计的3种基本结构分别是顺序、选择和______。
随机试题
鉴定矿物类中药的透明度时,应将矿物磨成的标准厚度是()。
鉴别原发性和继发性纤溶的最佳指标是
A.阿普唑仑B.环丙沙星C.妥布霉素D.利巴韦林E.阿奇霉素属氨基糖苷类的药物是
左金丸中的吴茱萸是方中的
A.甲吡酮试验B.ACTH兴奋试验C.TRH兴奋试验D.地塞米松抑制实验E.C肽释放试验可以反映垂体分泌ACTH储备功能的试验是
从逻辑结构上看,宪法规范与一般法律规范一样,是由下列哪些选项的内容组成?()
一直径d1=0.2m的圆管,突然扩大到直径为d2=0.3m,若v1=9.55m/s,则v2与Q分别为()。
纳税人超过应纳税额缴纳的税款,税务机关发现后应立即退还纳税人;纳税人自结算缴纳税款之日起()内发现的,可向税务机关要求退还多缴的税款并加算银行同期存款利息。
中国历史太长、战乱太多、苦难太深,没有哪一种纯粹的遗迹能够长久保存,除非躲在地下,躲在坟里,躲在不为常人注意的秘处。______,大凡至今轰传的历史胜迹,总是具有生生不息、吐纳百代的独特______。填入横线处最恰当的一项是()。
教学生有效地使用计算机是很重要的。因此,学校应给学生开设计算机程序设计课。下面哪项,如果正确,最能削弱上面的论证?()
最新回复
(
0
)