软件设计师C++试题解题思路

更新时间:2023-05-18 06:37:45 阅读: 评论:0

2010年上半年第五题解题思路:
(1)看到flyBehavior和takeOffBehavior,应该明白这是class AirCraft中定义的两个变量,因此,空一和空二应该是关于这两个变量的定义。
又看到class FlyBehavior和class TakeOffBehavior为抽象类,因此,flyBehavior和takeOffBehavior必定为指针。
综上,空一应该为:FlyBehavior  *flyBehavior;
空二应该为:TakeOffBehavior *takeOffBehavior;
(2)对类class Helicopter 直接观察,发现有构造函数Helicopter (),我们讲过new和delete必定成对出现,现在构造函数中有new,那么delete毫无疑问会出现在析构函数中。
因此,不用分析,就会发现最后一个空,即空七应该为:
三年零班
~Helicopter()沙丁红珊瑚
注意前面的波浪符,网上答案是错误的。
承德避暑山庄在哪
(3)再深入分析类class Helicopter,它的飞行行为是什么方式,起飞行为是什么方式,不需要看前面的图和表我们也知道,一是亚音速飞行,一是垂直起飞。而我们已经在类AirCraft中定义了两个抽象类指针,显然此处是想让我们指向派生类对象。
因此,空五应该为:SubSonicFly
空六应该为:VerticalTakeOff
(4)再看空三和空四,似乎没有什么可以填的,但我们看到在类class Helicopter的析构函数中有if(!flyBehavior) delete flyBehavior;
if(!takeOffBehavior) delete takeOffBehavior;咖喱饭怎么做
我们应该明白空三应该为:flyBehavior=NULL;铲组词拼音
空四应该为:takeOffBehavior=NULL;
2009年下半年C++试题:
(1)空一和空四没什么可说的,考察this指针的用法,都是this->name
(2)空二空三,即(2) getChildren() { return (3) ; }。对照下面文件夹类中的
list<AbstractFile*> *getChildren() { return (5) ; }
可知,返回的应该是文件名,即name。因此空二应该为:string 空三应
该为:name
(3) 空五明显是返回一个指针,因此应该为:&childList
2009年上半年C++试题:
(1)空一同下半年试题空一与空四,考察this指针的用法。应该为:this->imp
(2)由空一前面的void tImp(ImageImp *imp),从参数即可知,空二应该为:ImageImp
(3)多态性的考察,指向派生类的基类指针,因为我们不知道是在WINDOWS环境下还是在LINUX环境下作图,因此空三应该
为:imp->doPaint()
(4)因为是BMP图象,所以空四应该为:new BMP
(5)因为是在WINDOWS环境下,所以空五应该为:new WinIMP
(6)调用基类指针设置图象,空六应该是:image1->tImp(imageImp1)
(7)10种图象10个类,5个操作系统5个类,再加上Image和ImageImp这两个类,共17个类。
破处电影
2008年下半年C++试题:
(1) 空一网上答案为Document*,但我们看到addDocument函数中有:docs.push_back,应该明白docs不是指针,而是对
象,所以空一应该为:Document
(2) 空二应该没有问题,就是传过来的参数,即:aDocument
(3) 空三是要进行判断的,而且一定是调用打开文档的函数来判断,该函数一定有返回值,而题目中只有一个函数有返
回值,就是canOpenDocument(),它的参数应该是
openDocument的参数docName。所以空三
为:!canOpenDocumengt(docName)
(4) 空四与空五明显是要创建一个文档,即要调用virtual岳彬简历>出品人是干什么的
Document * doCreateDocument() = 0; 这个时候大家估计有点
疑问,这个函数没有办法调用啊。我们要注意一点,在我
们写程序时,一定会定义一个派生类MyApplication的,并
在自己的类中会重新定义该函数,因此,这个函数其实是
个接口,便于用基类的指针进行调用,其实考察的也是多
态性的理解,只不过本题中我们写的是基类,而09年我们
写的是派生类。由virtual Document * doCreateDocument() =
0红色的部分可知,空四应该为:Document *。综合上面的
分析,空五应该为:doCreateDocument()
(5) 下面估计大家会感到不知该如何填写,但我们回到题意提示的步骤看,我们已经完成了两步,接下来显然应该是空
六对应的是打开,空七对应的是读取,空八对应的是添
加。经过对Document类和Application类的分析,我们知
道,打开和读取是在Document类中完成的,添加是在
Application类中完成的。对于空六来说,我们已经有了一
个Document类的指针adoc,open函数的参数,即文档名是
由本函数OpenDocument()提供的,即docName,因此,空六
为:adoc->open(docName),同理,空七为:adoc-
>read(docName)。对于空七,显然read()函数也是一个接
口,与空四空五的情况类似。空八显然是调用Application
类的addDocument函数,其参数是一个Document指针,当
然就是adoc了,因此,空八为:addDocument(adoc)

本文发布于:2023-05-18 06:37:45,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/678017.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:应该   函数   指针   调用   空五   基类   考察   方式
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图