首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚
阅读以下说明和C++程序代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 在下面的C++代码中,类SalesTicket能够完成打印票据正文的功能,类HeadDec- orator与FootDecorator分别能够完成打印票据的台头和脚
admin
2008-05-15
60
问题
阅读以下说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
当个人计算机以拨号方式接入互联网时,必须使用的设备是(9)。
Windows系统的文件夹组织结构足一种(31)。
银行的信息非常重要,对信息以及信息处理的安全性要求很高。安全性包括多项任务,但不(24)。
信息系统中,防止非法使用者盗取、破坏信息的安全措施要求:进不来、拿不走、改不了、看不懂。以下(62)技术不属于安全措施。
字符串编辑有3种基本操作:在指定位置插入一个字符、在指定位置删除一个字符、在指定位置用另一个字符替换原来的字符。将字符串ABCDE,编辑成ECDFE,至少需要执行(6)次基本操作。
在Excel2010中,若要计算出B3:E6区域内的数据的最大值并保存在B7单元格中,应在B7单元格中输入________________。
在WPS文字中,由“字体”“字号”“粗体”“斜体”“两端对齐”等按钮组成的工具栏是________________。
计算机网络中,防火墙的功能不包括________________。
下列快捷功能按钮中,可以在画好的图形内填充颜色的是(49)。
某班级有40名学生,本次数学考试大多在80分上下。老师为了快速统计平均分,对每个学生的分数按80分为基准,记录其相对分(多出的分值用正数表示,减少的分值用负数表示,恰巧等于80分时用0表示),再统计出各种相对分的人数,如下表:根据上表可推算出,这次考试
随机试题
结合实际分析5~6岁儿童想象的特点。
社会主义市场经济条件下,市场机制
某基金管理公司的一名基金经理,在参加一次同学聚会时,从同学处了解到某上市公司即将并购另一公司的消息,这位同学是该上市公司高管,于是该基金经理利用此消息进行了投资交易,该基金经理行为()。
政府采购原则上应当采购本国货物、工程和服务,但属于例外情形的有()。
2003年在部分地区“非典”流行期间,家庭中人际关系比以往和谐,这是因为()。
有如下函数过程:Functiongys(ByValxAsInteger,ByValyAsInteger)AsIntegerDoWhiley<>0preminder=x/yx=Y
设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。main(){intfindbig(int,int,int);int(*f)(),x,y,z,big;
给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。请在程序的下
Paintinghasbeencontinuouslypracticedbyhumansforsome20,000years.Togetherwithotheractivities【C1】______ritualisticin
A——internationalflight B——flightnumberC——airlineoperation D——alternateairfieldE——landingfield F——intern
最新回复
(
0
)