首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类
admin
2013-01-05
34
问题
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类Figure提供了一个纯虚函数getAxea(),作为计算上述3种图形面积的通用接口。
【C++代码】
#include<iostream>
#include<cmath>
using namespace std;
class Figure{
public:
virtual double getArea()=0;//纯虚函数
};
class Rectangle : (1) {
protected:
double height;
double width;
public:
Rectangle(){}
Rectangle(double height, double width){
this->height=height;
this->width=width;
}
double getArea(){
return (2);
}
};
class Square: (3) {
public:
Square(double width){
(4);
}
};
class Triangle: (5) {
private:
double la,lb,lc;
public:
Triangle(double la,double lb,double lc){
this->la=la;this->1b=1b;this->lc=lc;
}
double getArea(){
double s=(la+lb+lc)/2.0;
return sqrt(s*(s-la)*(s-lb)*(s-lc));
}
int main()
{
Figure *figures[3]={new Triangle(2,3,3),new Rectangle(5,8), new Square(5)};
for(int i=0;i<3;i++){
cout<<"figures["<<i<<"]area="<<(figures
)->getArea()<<endl;
}
return 0;
}
选项
答案
(1) public Figure (2) height *width (3) public Rectangle (4) height=this->width=width (5) public Figure
解析
根据题述“抽象类Figure提供了一个纯虚函数getArea(),作为计算上述3种图形面积的通用接口”,可知类Rectangle均应继承自类Figure,并实现其抽象方法getArea。故空(1)应填 public Figuare。
getArea方法是计算面积的,空(2)是返回该类的代表的图形面积。类Rectangle代表矩形,而矩形的面积的计算公式是长与宽的乘积,类Rectangle的成员变量height和width分别代表了长和宽,故空(2)应填height*width。
类Square按理应该继承自Figuare,但并未实现其抽象方法getArea,若继承自Figure则不能被实例化,而题中main函数中已将其实例化,不符合题意,因此不能继承自Figure。考虑到正方形其实就是长和宽相等的矩形,因此Square可从Rectangle继承,故空(3)应填public Rectangle。这样,计算面积仍用Rectangle的getArea方法,这就要求将height和width正确赋值,题中已将这两个成员变量声明为protected,因此这两个变量继承为子类的变量,故空(4)应填height=this->width=width。
空(5)同空(1),应填public Figure。
转载请注明原文地址:https://kaotiyun.com/show/aeDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
以下不属于安全测试方法的是()。
关于集成测试的描述中,正确的是(41)。①集成测试也叫做组装测试或联合测试,通常是在单元测试的基础上,将所有模块按照概要设计说明书和详细设计说明书的要求进行组装和测试的过程。②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点
在软件项目管理中可以使用各种图形工具来辅助决策,下面对甘特(Gantt)图的描述中,不正确的是(15)。
下图是①设计模式的类图,该设计模式的目的是②,图中,Abstraction和RefinedAbstraction之间是③关系,Abstraction和Implementor之间是④关系。①处应填入?
数据库测试的对象包括______。①数据库连接测试②数据库的安全测试③定义的存储过程和触发器的测试④数据库接口测试
以下属于动态测试方法的是()。
()主要对与设计相关的软件体系结构的构造进行测试。
填充流程图中①的判断条件。写出子程序A的功能,并顺序写出实现该功能的操作
随机试题
简述职权主义诉讼形式与当事人主义诉讼形式的区别。
党的十八届四中全会对全面推进依法治国作出了部署,明确提出社会主义法治最根本的保证是()
该药较特殊的不良反应是
皮肤有大量渗出及剧痛的烧伤深度是
市场法评估为了尽可能地准确地评估出估价对象的价值,应尽可能多地搜集交易实例并选取可比实例?()
公文处理模拟法又称()测试,它是经过多年实践检验的一种有效的管理人员的测评方法。
以下不属于英美法系的特点的是()。
设3阶矩阵,若A的伴随矩阵的秩为1,则必有
A、L1∥L3B、L1∥L2C、L2⊥L3D、L1⊥L2D三条直线的方向向量为s1={-2,-5,3},s2={3,3,7},s3={1,3,-1}×(2,1,-1}={-2,-1,-5},因为s1.s2=0,所以L1⊥L2,选(D).
Theamazingsuccessofmanasa【C1】________istheresultoftheevolutionarydevelopmentofourbrainswhichhas【C2】________,am
最新回复
(
0
)