首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
admin
2018-09-22
63
问题
请打开考生文件夹下的解决方案文件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++函数的叙述中,正确的是()。
下面程序的输出结果是【】。#include<iostream>usingnamespacestd;classbase{protected:inta;public:base
下列程序的输出结果是【】#include<iostream>usingnamespacestd;intmain(){intnum=500;int&ref=num;ref
有如下程序:#include<iostream.h>usingnamespacestd;classBase{protected:inti;public:intj;}
关于在调用模板函数时模板实参的使用,下列表述中正确的是()。
有如下函数模板定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是()。
下列关于虚函数的描述中,正确的是()。
以下关于友元函数的叙述不正确的是
若已定义inta[]={1,2,3,4,5,6,7,8,9,10},p=a,i=5;则对数组元素的不正确的引用是
使用ifstream流类定义流对象并打开磁盘文件时,文件的隐含打开方式为()。
随机试题
I’dliketointroduceyou______JamesStewart,thenewmanagerofourdepartment.
下列头孢菌素抗菌谱中包括抗铜绿假单胞杆菌的是
某大型企业计划在自然疫源地兴建旅游建设项目,在征询意见时,有专家提醒,根据《传染病防治法》规定,应当事先由法定单位对该项目施工环境进行卫生调查。该法定单位是()
骨折急救处理中,以下哪项不恰当
评估房地产投保火灾险时的保险价值,通常包括()。
关于国有企业改组为股份公司时的股权界定,下列说法不正确的是( )。
新时代提升我国交通运输业的地位,应当以习近平新时代中国特色社会主义思想为指导,坚持新发展理念,坚持高质量发展,坚持以人民为中心,紧扣我国社会主要矛盾,围绕交通强国“人民满意、保障有力、世界前列”的基本内涵和()的价值导向进行。
下面是《思想活跃与百家争鸣》一课的教学目标。请分析它是否符合新课程理念。为什么?《思想活跃与百家争鸣》一课教学目标1.知识与能力在掌握基本历史知识的基础上,通过诸子百家简表、私学兴盛与百家争鸣关系图和写出“遏制校园内不良倾向的方法”的
TheImportanceofJustBeingThere"What’sthemostimportantthingyou’vedoneinyourlife?"Thequestionwasputtomedu
A、Calm.B、Angry.C、Interested.D、Funny.B当男士得知自己在图书馆的checklist中,现在不能完成选课时说,“你不是在开玩笑吧?”,而且表示今天已经是选课的最后一天了,所以他表现得非常紧张和生气,B为正确答案。
最新回复
(
0
)