首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTfiangle(“三角形”)的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该
admin
2019-04-24
74
问题
请打开考生文件夹下的解决方案文件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://www.kaotiyun.com/show/NOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>usingnamespacestd;classR{public:R(intr1,intr2){R1=r1;R
表达式x.operator+(y.operator++(0))还可以写成______。
有如下类声明:classFoo{intbar;};则Foo类的成员bar是()
有如下程序:#include<iostream.h>usingnamespacestd;classTestClass{public:TestClass(){cout<<"defaultconstru
有如下函数模板定义:templateT1sum(T1a1){return(a1+a2+a3);}则以下调用中正确的是()。
不能作为函数重载的判断依据的是()。
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
下面的符号中不属于C++关键字的是()。
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
Windows2000中活动窗口表现为
在森林生态系统中,()的生产力最高,生物量最大。
A巧克力培养基BSS培养基C罗氏培养基DB-G培养基E庖肉培养基培养淋病奈瑟菌选用
第二孔未闭型房间隔缺损血流动力学改变,不应出现的是
公路工程设计变更,是指自公路工程初步设计批准之日起至通过竣工验收正式交付使用之日止,对已批准的初步设计文件、技术设计文件或施工图设计文件所进行的修改、完善等活动。为加强公路工程建设管理,规范公路工程设计变更行为,保证公路工程质量,保护人民生命及财产安全,
诚实是指言行思想一致,不弄虚作假、不欺上瞒下,做老实人,说老实话,办老实事。()
下列属于违反系统安全规定的具体表现的是()。
Mergersandtakeoversmeantheactivitiesthattwoormorebusinessesjointogetherandoperateasoneorganization.Mergersus
Imagineaworldinwhichtherewassuddenlynoemotion--aworldinwhichhumanbeingscouldfeelnoloveorhappiness,noterror
K根据Stickingto和fallasleepmoreeasily定位到K段。该段第2句提到,如果每天坚持同一时间起床,你会发现自己更容易入睡。本题句子是第2句的同义改写。
最新回复
(
0
)