首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
admin
2019-04-24
65
问题
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序的正确输出结果应为:
20
10
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也小要删除或移动“//****found****”。
#1nclude
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:public 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; (2)area() (3)length*height (4)Cpolygon
解析
(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=&trg1:
可知指针ppoly1指向CReetangle类,而指针ppoly2指向CTriangle类,因此在这里只能填这两种类的基类CPolygon类。
转载请注明原文地址:https://kaotiyun.com/show/NOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于派生类构造函数和析构函数的说法中,错误的是()。
假定a=3,下列程序的运行结果是()。#inelude<iostream.h>intfun(intn);voidmain(){cout<<"Pleaseinputanumber:";int
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};表达式Wednesday==Friday的值是()。
下列叙述中错误的是()。
执行以下程序后,输出“*”号的个数是______。#include<iostream.h>main(){inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)cout<<’
有如下类声明:classFoo{intbar;};则Foo类的成员bar是()
有如下程序:#include<iostream.h>usingnamespacestd;classTestClass{public:TestClass(){cout<<"defaultconstru
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数。再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
纯虚函数的声明总是以______结束。
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
药用部位为干燥块根的药材有
根据《素问·生气通天论》饮食偏嗜伤及五脏的论述,味过于苦则
可导致肾病综合征的疾病不包括
A.思维贫乏B.思维散漫C.思维迟缓D.思维被夺取E.思维被插入病人对医师的问题只能在表面上产生反应,缺乏进一步的联想,该症状为
中央银行的再贴现率的变动成了货币当局给银行界和公众的重要信号,()。
如果要在美国市场上筹集资本,则必须采用一级ADR。( )
甲股份有限公司委托乙证券公司发行普通股,股票面值总额4000万元,发行总额16000万元,发行费按发行总额的2%计算(不考虑其他因素),股票发行净收入全部收到。甲股份有限公司该笔业务记入“资本公积”科目的金额为()万元。
病理性遗忘的种类包括()遗忘。
“零容忍、零界限、零死角”的反腐风暴,导演了一场场“官场现形记”,让贪官闻风丧胆、如坐针毡,甚至“以死谢罪”,反腐倡廉取得了前所未有的成果。然而,在光鲜的“成绩单"背后,公款吃喝从地上转入地下、从餐厅转入食堂,止不住的“食欲”背后是无法满足的“贪欲”。干部
Amtrak—thelargestrailwaycompanyintheU.S.—wasexperiencingadownswinginridership.【B1】______majorconcernstoAmtrakand
最新回复
(
0
)