首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚
admin
2008-05-15
41
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
一般来说,误删本地磁盘中某个文件后,还可以用以下方法()来补救。
在Excel中,A1单元格中显示的值为1.234E+05,下列选项中与其等值的是______。
以下维护操作系统的做法中,()是不恰当的。
下列软件中,(35)可以完成文件压缩和还原。
在Excel当前工作表中有学生的数据表(包含学号、姓名、专业、课程、成绩等字段),为查询指定专业下每门课程的平均成绩,下列选项中最合适的方法是______。
以下文件类型中,除__________外,都属于可执行文件。
字符串编辑有3种基本操作:在指定位置插入一个字符、在指定位置删除一个字符、在指定位置用另一个字符替换原来的字符。将字符串ABCDE,编辑成ECDFE,至少需要执行(6)次基本操作。
Win7控制面板中,可通过()查看系统的一些关键信息,并可进行调整视觉效果、调整索引选项、调整电源设置及打开磁盘清理等操作。
问卷调查中,问卷的设计是关键,其设计原则不包括()。
综合布线系统由6个子系统组成,将图1-1中(1)~(6)处空缺子系统的名称填写在答题纸对应的解答栏内。考虑性能与价格因素,图1-1中(1)、(2)和(4)中各应采用什么传输介质?
随机试题
A.T细胞B.B细胞C.NK细胞D.吞噬细胞E.树突状细胞参与控制肿瘤生长发育的最重要宿主应答的细胞是
青年,男性,大面积烧伤8小时,已静脉输液3000ml,判断其血容量是否补足的简便、可靠指标是( )。
心包积液的病因有哪些
A.肩关节B.肘关节C.髋关节D.膝关节E.桡腕关节有盂缘的是
妊娠合并心脏病的妊娠期处理。以下哪项不合适
某企业职工小马不喜欢现在的工作,经常出工不出力,多次因工作质量问题与主管领导发生了摩擦,小马想主动解除劳动合同,但又有顾虑,原因是小马在1年前接受企业的安排,到国外参加了专业培训,企业为此支付了4万元培训费用,且小马与企业订立了培训服务期协议和竞业限制协议
经风险调整的收益率为每个业务单位或交易的()和经济资本的比率。
下列资产中,不能计算折旧扣除的是()。
求f(x)=的间断点并判断其类型.
SmartphonesAsmartphoneisonedevicethatcantakecareofallofyourhandheldcomputingandcommunicationneedsinasin
最新回复
(
0
)