首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中包含抽象类Shape的声明,以及在此基础上派生出的类Rectangle和Circle的声明,二者都有计算对象面积的函数GetArea()和计算对象周长的函数GetPerim()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中包含抽象类Shape的声明,以及在此基础上派生出的类Rectangle和Circle的声明,二者都有计算对象面积的函数GetArea()和计算对象周长的函数GetPerim()。
admin
2020-07-23
28
问题
请使用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://jikaoti.com/ti/Cbl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数模板:templateTsquare(Tx){returnx*x;}其中的参数T是
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是
有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;cout
下列关于派生类构造函数和析构函数的说法中,错误的是()。
在类Derived中,函数show()不能直接访问的数据成员是
有如下类声明:classWhat{intn;public:doubled;private:charc;};类What的公有数据成员和私有数
ClassA是一个类,且有如下语句序列ClassAc1,*c2;ClassA*c3=newMyClass;ClassA&c4=c1;则ClassA的构造函数被调用的次数是
软件生命周期是指( )。
如果派生类以protected方式继承基类,则基类中的保护成员在派生类中的访问属性是
已知表达式--a中的"--"是作为成员函数重载的运算符,则与--a等效的运算符函数调用形式为
随机试题
危机,危急存亡之际n.c______
A.环形卡环B.单臂卡环C.间隙卡环D.杆式卡环E.对半卡环RPI卡环中I表示
天王补心丹主治证是
超滤是一种介于()之间的膜分离技术。
供应链管理是把整个供应链看成单一的实体,而不再是一个个孤立的组织机构单元,用系统的观点进行优化,以提高竞争优势。供应链管理的核心是()。
下列各项中,应计入财务费用的有()。
From1994to1998thenumberofAmericanswhohaddonatedakidneyreached244.NoonesellsorgansintheU.S.sinceitisill
DespiteaflurryofdiplomaticactivityinGeneva,prospectsforapeacesettlementseemedas______asever.
WeatherForecastingWeatherisafavouritetopicforsomanypeoplearoundtheworld/foritaffectswherewechoosetoliv
A、Ingivingconcessions.B、Intheconcludingpart.C、Instatingyourterms.D、Inthepreparatoryphase.D对话开头,男士说“谈判既是一门艺术又是一门科学
最新回复
(
0
)