首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon(“多边形”)、CRectangle(“矩形”)、CTriangle(“三角形”)的定义。请在横线处填写适当的代码并
admin
2020-05-14
33
问题
请使用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://jikaoti.com/ti/H4A0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:classXX{protected:intk;public:XX(int=5):k(n){};~XX(){tout
若要在C盘根目录下作为二进制文件打开文件test.dat,则应该用的语句是【】。
下面叙述不正确的是( )。
若执行以下程序时从键盘上输入9,则辅出结果是 main() {int n; cin>>n; if(n++<10)cout<<n<<endl; else cout<<n--<<endl; }
请指出程序片段的语法错误______。
下列关于线性链表的叙述中,正确的是()。A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三
执行下面语句后,输出字符“#”的个数是()。for(inti=50;i>1;--i)cout
下面不属于C++的预定义的流对象是()。
关于动态联编的下列叙述中,______是错误的。
下列有关继承和派生的叙述中,正确的是()。
随机试题
精馏塔操作过程中主要通过控制温度、压力、进料量和回流比来实现对气、液负荷的控制。()
甲公司于2014年5月,委托B公司进行商品代销,2014年11月收到B公司的代销清单,并按销售收入的5%收取代销费用,甲公司将该笔代销费用直接抵扣主营业务收入。()
下列有关劳务收入确认的表述中,正确的有()。
由于传统教育存在着种种弊端,因而教育现代化就意味着舍弃教育传统,创造一种全新的现代教育。
谈谈你对中国设立“上海自由贸易试验区"意义的认识。[上海财经大学2016国际商务硕士]
下图是网络地址转换NAT的一个示例图中①和②依次应为()。
Whatanimaldotheylikebest?
TheManagementofChangeToday,changeisapermanentcharacteristicofbusinessactivity.Insomecasesitisexpectedand
FlirtingwithSuicideThedeathofanAustralianboy’sdreamThelifeofDavidWoodswasthestuffofanAustralianboy’
A、Themanhadbetterdropmorethanone.B、Theman’scourseisthebestofthefour.C、Themanmustbeanexcellentstudent.D、T
最新回复
(
0
)