首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
admin
2019-04-24
42
问题
请打开考生文件夹下的解决方案文件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;classR{public:R(intr1,intr2){R1=r1;R
有以下程序,输出结果()。#include<iostream>usingnamespacestd;classComplex{public:Complex(doubler=0,doublei=
以下函数实现的功能是______。voidfun(char*s){char*p,*q,temp;p=s;q=s+strlen(s)-1;while(p<q){temp=*p;*p=*
表达式x.operator+(y.operator++(0))还可以写成______。
有如下类声明:classTestClass1{intk;public:voidset(intn){k=n;}intget()const{returnk;}};classT
有如下程序:#include<iostream>usingnamespacestd;classTestClass1{public:virtualvoidfun(){cout<<"1";}};
下面的符号中可以用作C++标识符的是()。
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
A.寒性收引卫阳亏虚阴不制阳B.邪正相搏阳热内盛C.阴液亏虚阴不制阳D.湿邪遏制热难透达E.胃肠燥热内结
A、LD50B、治疗指数C、量反应D、受体E、竞争性拮抗药使激动药量效曲线平行右移,最大效应不变的是
国务院证券监督管理机构对证券公司对要求审查董事、监事任职资格的申请,自受理之日起()个工作日内作出批准或者不予批准的书面决定。
2013年2月,A公司和B公司共同投资设立泰昌有限责任公司(以下简称“泰昌公司”),注册资本1000万元,其中:A公司持有30%的股权,B公司持有70%的股权。2014年3月,A公司分别向C公司和D公司转让了占泰昌公司10%的股权。2015年3月
引起幼儿有意注意发展的因素有哪些?
《公安机关人民警察录用办法》规定,有下列情形之一的,不得报考人民警察:()。
你单位要买一台电脑。A领导说要买进口的。质量好.B领导说要买国产的.物美价廉。这件事交由你去负责.你会怎么处理?
布袋中装有塑料数字1、2、3各若干个(大于6个),每次任选6个数字相加,至少选多少次才能保证有两次相加的和相等?
Manypeopletaketosocialmediatosharenewsofbigevents.OnDecember1stFacebook’sboss,MarkZuckerberg,followedinthe
AmongthemorecolorfulcharactersofLeadville’sgoldenagewereH.A.W.Taborandhissecondwife,ElizabethMcCourt,bestkn
最新回复
(
0
)