首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个头文件shape.h,其中包含了类Shape、Point和Triangle的声明;包含程序文件shape.cpp,其中包含了类Triangle的成员函数和其他函数的定义;还包含程序文件proj2.
admin
2018-09-22
47
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
按照“先进后出”原则组织数据的数据结构是()。
在下面横线上填上适当的语句,完成程序。#include<iostream>usingnamespacestd;classBase{intx;public:Base(inti
用链表表示线性表的优点是()。
以下函数模板max()的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(in
关于纯虚函数,下列表述正确的是()。
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
以下关于友元函数的叙述不正确的是
以下for语句中不是死循环的是
以下哪个特征不是面向对象思想中的主要特征?
程序的3种基本控制结构是
随机试题
便秘是指7天内排便次数少于
A.赔偿责任B.罚款C.行政处分D.刑事责任E.有权制止擅自进入野生药材资源保护区从事教学、科研、旅游等活动的,当地县以上自然保护区主管部门()
《证券法》规定,禁止任何人以( )手段操纵证券市场。
我国银行的存款利率()。
甲、乙两个国有企业出资设立丙有限责任公司。下列关于丙有限责任公司组织机构的表述中,不符合公司法律制度规定的是()。
已知直线y=k(x+2)(h>0)与抛物线C:y2=8x相交于A、B两点,F为C的焦点,若∣FA∣=2∣FB∣,则K=
美苏争霸期间,两国力量此消彼长、相互制衡。下列表明苏联退缩的史实是()。
陈老师是某班级的班主任,为做好学生的思想教育工作,陈老师探索出了一种新的工作方式,他将教育过程中发现的班级或个别同学存在的问题加以分析,总结,记在特设的“教师日记”薄上,动员班级的科任老师也积极参与到教师日记的撰写工作中,使科任老师与学生加深理解,再利用课
Lookatthenotesbelow.Youwillhearawomancomplainingaboutthecomputershebought.Computer
Thetaskofbeingacceptedandenrolledinauniversityorcollegebeginsearlyforsomestudents.Long【C1】______theygraduate
最新回复
(
0
)