首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。 【说明】 以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类
admin
2013-01-05
53
问题
阅读以下说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
正确的集成测试描述包括(43)。①集成测试也叫做组装测试,通常是在单元测试的基础上,将模块按照设计说明书要求进行组装和测试的过程②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点,对于输入输出模块、复杂算法模
分配给某公司网络的地址块是210.115.192.0/20,该网络可以被划分为()个C类子网。
采用________________表示带符号数据时,算术运算过程中符号位与数值位采用同样的运算规则进行处理。
Win2003Server中启用配置SNMP服务时,必须以()身份登录才能完成SNMP服务的配置功能。
在进程状态转换过程中,可能会引起进程阻塞的原因是______。
关于确认测试,描述正确的是(39)。①确认测试一般包括有效性测试与软件配置复查,采用黑盒测试为主,白盒测试为辅的测试方法进行测试。②确认测试配置项复查时应当严格检查用户手册和操作手册中规定的使用步骤的完整性和正确性。③确认测试需要检测与证实软件是否满
某系统中,模块A处理与销售相关的所有细节,仅需要发送一个包含销售量、价格和时间的报表到模块B,则这两个模块之间为()耦合。
如果防火墙采用.NAPT技术,则该单位至少需要申请(1)个可用的公网地址。1.ACL默认执行顺序是(5),在配置时要遵循(6)原则、最靠近受控对象原则、以及默认丢弃原则。(5)、(6)备选项(A)最大特权(B)最小特权(C)随机选取(D)自左到右
随机试题
关于会计系统控制,以下表述错误的是()。
桂枝合剂中的药物组成不包括()
根据香港特别行政区基本法的规定,下列哪些选项是正确的?(2007年试卷一第61题)
作业管理层人员在部门内对其他技术人员的具体工作予以()。
下面关于邮政局、所选址原则的叙述中,()条是必须要求的。
背景某机电安装公司承担北方某城市包括安装三台蒸发量25t/h、蒸汽压力为2.5MPa的散装工业锅炉的锅炉房工程。开工前,项目部根据锅炉房安装工程施工组织设计,进行了全面的质量策划,并指令专业工程师编制质量控制程序。在施工过程检查中发现某
某单位2003年6月取得下列收入:招待所住宿收入45600元;餐饮收入68780元;单独核算的外卖点销售自制食品取得收入58000元;打字服务取得收入13560元,其中包括纸张销售收入7580元;组织省内旅游取得收入44370元,其中包括代旅客支付的交通费
下列准备金中,不能在税前扣除的有()。
党的十九大报告指出,党的基础性建设是指党的()
在执行设计的测试用例后,对测试结果进行分析,找出错误原因和具体的位置,并进行纠正(排除)的检测方法通常是指________。
最新回复
(
0
)