首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
admin
2018-09-22
30
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
在下列选项中,没有构成死循环的程序是()。
已知:doubleA(doubleA){return++a;}和intA(inA){return++a;}是一个函数模板的两个实例,则该函数模板定义为【】
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】。
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败的函数名是()。
重新定义标识符的作用域规定是外层变量被隐藏,______变量是可见的。
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
main函数中发生编译错误的语句是______。#include<iostream.h>classA{public:inta;constintb;A():a(10
若需要把一个函数"voidFuric();"定义为一个类Sample的友元函数,则应在类Sample的定义中加入一条语句______。
使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。
随机试题
邓小平同志曾说:“中国的事情要按照中国的情况来办,要依靠中国人自己的力量来办,独立自主,自力更生,无论过去、现在和将来,都是我们的立足点。认清国情,是建设社会主义的指南针。”目前,我国最基本的国情是()。
Womenareoftensaidtobemore______thanmen.
腰椎前后斜位片上,腰椎椎体以外的结构(椎弓及附件)投影形似小狗,如图示,其对应解剖关系为A.“狗眼”B.“狗耳”C.“狗颈”D.“前腿”E.“后腿”近片侧椎弓峡部
出租汽车的停车场,属于哪类用地?
募捐晚会售出500元、400元、300元的门票共2600张,门票收入99万元,400元与500元的门票张数相等。400元的门票售出多少张?()
阅读以下文字。完成下列问题。近年来,“通俗历史热”不断出现于媒体的报道之中。作为一种关涉史学的文化现象,我们有必要从历史学的角度对其进行考察。“通俗历史热”是商品经济和文化教育发展到一定程度后定会出现的一种现象。实际上通俗历史并非“新生事物”,
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
设有定义:chars[81];inti=0;以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。
SanFranciscoisusuallycoolinsummer,butLosAngeles______.
A、Itwastoodark.B、Hiseyesightisnotsogood.C、Themandoesn’twantto.D、Hecan’tfindtheswitch.D根据男士的回答“Idon’tknow
最新回复
(
0
)