首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中包含抽象类Shape的声明,以及在此基础上派生出的类Rectangle和Circle的声明,二者都有计算对象面积的函数GetArea()和计算对象周长的函数GetPerim()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中包含抽象类Shape的声明,以及在此基础上派生出的类Rectangle和Circle的声明,二者都有计算对象面积的函数GetArea()和计算对象周长的函数GetPerim()。
admin
2020-07-23
61
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中包含抽象类Shape的声明,以及在此基础上派生出的类Rectangle和Circle的声明,二者都有计算对象面积的函数GetArea()和计算对象周长的函数GetPerim()。程序中位于每个“//****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
TheareaoftheCircleis78.5
TheperimeteroftheCimleis31.4
TheareaoftheRectangleis24
TheperimeteroftheRectangleis20
注意:只在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
usingnamespacestd;
classShape
{
public:
Shape(){}
~Shape(){}
//**********found**********
________floatGetArea()=0;
//**********found**********
________floatGetPerim()=0;
};
classCircle:publicShape
{
public:
Circle(floatradius):itsRadius
(radius){}
~Circle(){}
floatGetArea(){return3.14*itsRadius*itsRadius;}
floatGetPerim()
{return6.28*itsRadius,}
private:
floatitsRadius;
};
classRectangle:publicShape
{
public:
//**********found**********
Rectangle(floatlen,floatwidth):
________{};
~Rectangle(){};
virtualfloatGetArea()
{returnitsLength*itsWidth;}
floatGetPerim()
{return2*itsLength+2*itsWidth;}
virtualfloatGetLength(){return
itsLength;}
virtualfloatGetWidth(){returnitsWidth;}
private:
floatitsWidth;
floatitsLength;
};
intmain()
{
//*****’k****found**********
sp=newCircle(5);
cout<<"TheareaOftheCircleis"
<
GetArea()<
cout<<"TheperimeteroftheCircleis"<
GetPerim()<
deletesp;
sp=newRectangle(4,6);
cout<<"TheareaoftheRectangleis"<
GetArea()<
cout<<"TheperimeteroftheRectangleis"<
GetPerim()<
deletesp;
return0;
}
选项
答案
(1)virtual (2)virtual (3)itsLength(len), itsWidth(width) (4)Shape* sp;
解析
(1)和(2)主要考查考生对纯虚函数定义的掌握,纯虚函数前要添加关键字virtual。
(3)主要考查考生对构造函数的掌握,使用成员列表初始化。
(4)主要考查考生对指针的掌握,由下一条语句:sp = new Circle(5),可知sp为Shape型指针。
转载请注明原文地址:https://kaotiyun.com/show/Snyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于内联函数的叙述中,错误的是
若已经声明了函数"intfun(intx,inty=0);",则下列重载函数声明中,正确的是
下列叙述中正确的是
除了显式定义的构造函数外,类中还有可能包含编译器自动生成的构造函数,因此一个类所拥有的构造函数的至少有
有两个关系R和T如下:则由关系R得到关系T的操作是()。
如果派生类以protected方式继承基类,则基类中的保护成员在派生类中的访问属性是
算法的空间复杂度是指( )。
设c1和c2是类MyClass的对象,若将后缀运算符“++”作为类MyClass的友元函数重载,运算符“,作为类MyClass的成员函数重载,则表达式e2*c1++等价于()。
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
随机试题
早期鼻咽癌的影像学征象中正确的是
患儿,男,8岁,车祸伤致左上臂疼痛、畸形,出现腕下垂。首先考虑的诊断是
下列()不属于城市供热系统工程分区规划阶段的工作内容和深度。
物可分为原物和孳息,下列选项中属于孳息的是()。
利润额比较即比较广告投放前后,以()作为衡量广告效果的指标。
(At)thelocallevelindividualauthorities,(which)have(rathergreater)freedominplanningthantheirEnglishcounterparts,
下列关于接入技术的描述中,正确的是()。
每个日期/时间字段需要()个字节的存储空间。
搜索考生文件夹中的ENABLE.PRG文件,然后将其删除。
WomenTodayIsittruethatwomenhavehaditsogood?Inmanyways,yes.Itisno【B1】necessary【B2】womentoaskanyone
最新回复
(
0
)