首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
39
问题
请使用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全国计算机二级
相关试题推荐
所有在函数中定义的变量,连同形式参数,都属于
下列C++标点符号中表示一条预处理命令开始的是()。
开发一个C++语言程序的步骤通常包括编辑、【】、链接、运行和调试。
下列叙述中,不属于测试的特征的是
如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
对于语句cin>>x中的各个组成部分,下列叙述中错误的是
在长度为n的有序线性表中进行二分查找,需要的比较次数为
如下程序定义了“单词”类word,类中重载了
度为10的线性表进行冒泡排序,在最坏情况下需要比较的次数为______。
根据注释内容在空白处填写适当内容。classLocation{private:intX,Y;public:voidinit(intinitX,intinitY);intGetX();intGetY
随机试题
急性结膜炎急性期禁忌采取()
苏合香丸中配伍白术、诃子的用意是
A.直肠癌B.肛瘘C.直肠息肉D.肛裂E.内痔直肠指诊可扪及条索状物,可能为
下列关于药物排泄的叙述错误的是
A、镇痛新B、纳洛芬C、纳洛酮D、纳曲酮E、可待因可用于各种原因的休克
已知图示三相电路中三相电源对称,Z1=z1∠φ1,Z2=z2∠φ2,Z3=z3∠φ3,若UNN’=0,则z1=z2=z3,且:
甲公司是一家有色金属冶炼企业。在投资建设新厂时,没有按照国家规范建立废水回收系统,导致废水外泄,给周围居民生活环境带来很大影响,当地环保部门介入调查,对甲公司实行了高额罚款。根据以上信息可以判断,甲公司在此事件中面临的风险包括()。
“十三五”规划纲要指出,积极推进第五代移动通信(5G)和超宽带关键技术研究,启动5G商用。下列有关5G的说法错误的是()。
某大学文学院语言学专业2014年毕业的5名研究生张、王、李、赵、刘分别被三家用人单位天枢、天机、天璇中的一家录用,并且各单位至少录用了其中的一名。已知:(1)李被天枢录用;(2)李和赵没有被同一家单位录用;(3)刘和赵被同一家单位录用;(4)如果张
Themanandhisfamilyare______.
最新回复
(
0
)