首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚
admin
2008-05-15
32
问题
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚注的功能。
已知该程序运行后的输出结果如下所示,请填补该程序代码中的空缺。
这是票据的台头!
这是票据正文!
这是票据的脚注!
---------------
这是票据的台头!
这是票据的脚注!
【C++程序代码】
#include
using namespace std;
class SalesTicket {
public:
(1) printTicket() { cout << " 是票据正文!" << endl;}
class Decorator : public SalesTicket{
SalesTicket *ticket;
public:
Decorator(SalesTicket *t){ ticket = t; }
void printTicket(){
if(ticket != NULL)
ticket->printTicket();
}
};
class HeadDecorator : public Decorator{
public:
HeadDecorator(SalesTicket *t): (2) { }
void printTicket() {
sour << "这是票据的台头!" << endl;
Decorator::printTicket();
}
};
class FootDecorator :public Decorator{
public:
FootDecorator(SalesTicket *t): (3)
void printTicket() {
Decorator::printTicket();
cout << "这是票据的脚注!" << endl;
}
};
void main(void) {
SalesTicket t;
FootDecorator f(&t);
HeadDecorator h( (4) );
h.printTicket();
cout << "-------------------------"<< endl;
FootDecorator a(NULL);
HeadDecorator b( (5) );
b.printTicket();
}
选项
答案
(1)virtual void (2)Decorator(t) (3)Decorator(t) (4)&f (5)&a
解析
本题实际上使用了设计模式中的Decorator模式。
从代码可以分析得出,类SalesTicket完成了票据正文的输出,FootDceorator和 HeadDecorator类都继承了Decorator,Decorator继承SalesTicket,FootDecorator和HeadDe- corator类在构造函数的时候都需要对其父类进行初始化,因此,空(2)和(3)应为 Decorator(t);这些类中都具有printTicket方法,根据SalesTicket类中方法的定义可以得出,此方法的返回值为void类型,分析主程序中h.printTicket()可以输出“这是票据的台头!这是票据正文!这是票据的脚注!”的结果,并且考虑到h.printTieket()的执行路径为先执行cout<<"这是票据的台头!"<
转载请注明原文地址:https://kaotiyun.com/show/TsjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某企业准备将3项工作A、B、C分配给甲、乙、丙三人,每人分别做一项。估计各人完成各项工作所需的天数如下表所示:为使完成这三项工作所需的总天数最少,应选最优的分配方案。在最优分配方案中,(69)。
1,2,…,5五个数中,任取两个数都可以算出平均值,其中有些平均值是相等的。那么,不同的平均值共有(26)个。
下列选项中,不属于信息安全基本要素的是(19)。
海关为严查一批进口食品罐头含铅量是否超标宜采用的方法是______。
在Word2007文档编辑时,使用(39)________________选项卡中的“分隔符”命令,可以在文档中指定位置强行分页。
将四个元素a,b,c,d分成非空的两组,不计组内顺序和组间顺序,共有()种分组方法。
下列关于Windows7屏幕保护程序的叙述中,不正确的是__________。
某班级有40名学生,本次数学考试大多在80分上下。老师为了快速统计平均分,对每个学生的分数按80分为基准,记录其相对分(多出的分值用正数表示,减少的分值用负数表示,恰巧等于80分时用0表示),再统计出各种相对分的人数,如下表:根据上表可推算出,这次考试
从以下备选答案中为程序中(1)~(5)处空缺内容选择正确答案,填入答题纸对应的解答栏内。(1)A.CreatObject()B.connect0C.go()D.open()(2)A."select*fromdata"B."select
随机试题
什么是汽车的最小转弯直径?
在政治学领域,美国学者_________首先较为系统地提出“政治文化”这一类似概念。在他看来,政治文化其实就是特定社会政治系统的文化心理层面或文化环境因素的总和。
我国的根本政治制度是( )
X线信息影像传递过程中,作为信息源的是
药物对机体的副作用是
【案例】患者,男,42岁,误服敌百虫后大汗淋漓,瞳孔缩小,肌肉抽搐,血压110/82mmHg,诊断为有机磷中毒。该患者不能用来洗胃的溶液是()。
根据会计法律制度的规定,任用会计人员应当实行回避制度的单位有()。
基金托管人不需要对基金管理人的()进行复核、审查。
下列不属于房地产投资方式的是()。
SincetheUSAgencyforInternationalDevelopment(USAID)beganitsfirstHIV/AIDSpreventioneffortseightyearsago,theepide
最新回复
(
0
)