首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并
admin
2020-05-14
30
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为:
20
10
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
using namespace std;
class CPolygon{
public:
//*********found*********
_________//纯虚函数area声明
void printarea(void)
//*********found*********
{cout<<________<
};
class CRectangle:public CPolygon{
int width; //长方形宽
int height; //长方形高
public:
CRectangle(int w, int h):
width(w),height(h){)
int area(void){return(width*height);)
};
class CTriangle:publ ic CPolygon{
int length; //三角形一边长
int height; //该边上的高
public:
CTriangle(int 1,int h):
length(1),height(h){}
//*********found*********
int area(void){return(_________)/2;)
};
int main(){
CRectangle rect(4,5);
CTriangle trgl(4,5);
//*********found*********
_________*ppoly1,*ppoly2;
ppoly1=&rect;
ppoly2=&trgl;
ppoly1->printarea();
ppoly2->printarea();
return 0;
}
选项
答案
(1)virtual int area(void)=0;
解析
(1)主要考查考生对纯虚函数的掌握,在定义纯虚函数时要看在派生类中函数的定义:int area(void)。由此可知纯虚函数应该为:virtual int area(void)=0;。
(2)主要考查考生对纯虚函数的掌握情况,由void printarea(void)可知,该函数要打印面积,因此在此要调用纯虚函数area,即cont<
(3)主要考查考生对数学公式的掌握,该函数要返回三角形面积,三角形的面积公式为长乘以该边上的高除以2,即return(length*height)/2;。
(4)主要考查考生对抽象类的掌握情况,根据程序段:
ppoly1=&rect;
ppoly2=&trgl;
可知指针ppoly1指向CReetangle类,而指针ppoly2指向CTfiangle类,因此在这里只能填这两种类的基类CPolygon类。
转载请注明原文地址:https://kaotiyun.com/show/9q8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classA{public:A(){cout<<"A";}~A(){cout<<"~A";}};
写出执行完下列代码段之后指定变量的值:boo1x=true,y=false,z=false;x=x&&y‖z;y=x‖y&&z;z=!(x!=y)‖(y==z),则x=false,y=false,z=【】
有如下程序:#include<iostream>usingnamespacestd;classCA{public:CA(){cout<<’A’;}};classCB:priva
如下程序的输出结果是main(){inta=2,b=-1,c=2;if(a<B)if(b<0)c=0;elsec++;cout<<c<<end1;}
下列各类函数中,不是类的成员函数的是
有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是
请指出程序片段的语法错误______。
有如下定义:intb[10]={1,2,3,4,5,6,7,8,9,10},*q=b;则数值为8的表达式是()。
C++在重载运算中,如用成员函数重载一元运算符参数表中需要【】个参数,如用友元函数重载一元运算符参数表中需要1个参数。
以下叙述中不正确的是
随机试题
Manydogownerswhotalktotheirdogsareconvincedthattheirwordsarebeingunderstood.It【C1】________theymayberight.A
A.刺激胰岛素分泌B.增加外周组织对葡萄糖的利用C.抑制肠道对葡萄糖的吸收D.降低胰岛素的敏感性E.抑制多糖向单糖的分解磺脲类药物降糖作用机制为
旅游团离站前,全陪应办理哪些相关事宜?
已知线性含源二端网络的开路电压UOC,短路电流iSC,则该端口的等效电阻为。()
奥苏伯尔提出的教学原则包括()。
日本:东京
Theroleofgovernmentsinenvironmentalmanagementisdifficultbutinescapable.Sometimes,thestatetriestomanagetheresou
有以下程序:#include#definef(x)2*x*xmain(){inta=2,s,t;s=f(a+1);t=f((a+1));printf(’’%d,%d\n’’,s,t);}程序运行后的输出结果是()。
TheCinemaThefirstmovingpictures,developedinthe1890’s,weredifferentfromwhatweknowaboutcinematoday.Because
TheInternetMayHaveBeatenTraditionalInstitutionsThenotionoftheInternetasaforceofpoliticalandsocialrevoluti
最新回复
(
0
)