首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
admin
2019-04-24
48
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<iostream>usingnamespacestd;template<typenameT>Tfun(Ta,Tb){return(a<=b)?a:b;)
有以下程序:#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2){R1=r1;R
下面关于构造函数和析构函数的描述中,错误的是()
有以下程序段:#include<iostream.h>#defineMAX(x,y)(x)>(y)?(x):(y)voidmain(){inti,j,k;i=10;j=15;k=MAX(i
有如下函数模板定义:templateT1sum(T1a1){return(a1+a2+a3);}则以下调用中正确的是()。
按照标识符的要求,下列选项中,()符号不能组成标识符。
以下哪个不是C++语言中的有效标识符?
随机试题
A.2~4周B.4~6周C.6~8周D.8~10周E.10~12周人工瓣膜心内膜炎抗感染治疗的疗程是
男,55岁。进行性吞咽困难3个月,体重下降5kg,目前能进半流食。进一步确诊的首选检查方式是
下列关于社区卫生服务的原则中叙述错误的是
预防鸡马立克病的火鸡疱疹病毒疫苗属于
公安特警甲听说乙不仅吸毒而且有时还出售,赚点差价供其买毒品吸食(以贩养吸),就找到乙,问有没有“药”(指毒品)。乙说没有,以前做过,现在不做了。甲提出愿出300元1克的价格购买(高出市价约30%)100克,乙犹豫再三,还是经不住高价的诱惑,让甲等一两天。之
租赁公司根据承租人的要求购买设备,然后租给承租企业长期使用的租赁方式是()。
为了加强艾滋病预防意识、普及艾滋病预防知识、提高艾滋病预防能力,市卫生部门计划在世界艾滋病日开展预防艾滋病宣传活动。假如这个宣传活动由你负责,请你制订三个宣传主题,并选取一个主题,谈谈你将如何开展宣传工作。
一天小陈想知道爷爷和爸爸的年龄。爸爸对他说:“你爷爷与我、我与你的年龄差都是一样的。爷爷和你的年龄和是84岁,这个岁数如果再加上你的年龄正好是100岁。”你能帮助小陈算出爸爸的年龄吗?()
设A为m×n矩阵,则方程组AX=b有唯一解的充分必要条件是()。
TheNationalMuseuminWashingtonwillbeclosedfor______foroneyearandwillreopennextyear.
最新回复
(
0
)