首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOr
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOr
admin
2010-12-17
45
问题
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。
[说明]
在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据,先打印销售票据内容,然后再打印脚注。图5-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。
[图5-1]
[C++代码]
class Component{
public:
(1) void prtTicket()=0;
};
class SalesTicket:public Component{
public:
void prtTicket(){
cout<<"Sales Ticket!"<<endl;
}
};
class Decorator:public Component{
public:
virtual void prtTicket();
Decorator(Component *myC);
private:
(2) myComp;
};
Decorator::Decorator(Component *myC)
{
myComp=myC;
}
void Decorator::prtTicket()
{
myComp->prtTicket();
}
class Footer:public Decorator{
public:
Footer(Component *myC);
void prtTicket();
void prtFooter();
};
Footer::Footer(Component *myC): (3) {}
void Footer::prtFooter()
{
cout<<"Footer"<<endl;
}
void Footer::prtTicket()
{
(4) ;
prtFooter();
}
class SalesOrder{
public:
void prtTicket();
};
void SalesOrder::prtTicket()
{
Component *myST;
myST=new Footer( (5) );
myST->prtTicket();
}
(5)
选项
答案
new SalesTicket()
解析
由函数prtTicket()结尾的“=0”易知,该函数是纯虚函数,须声明为virtual,故空(1)应填virtual。
由Decorator构造函数以及类图可知,Decorator包含一个Component对象引用,故空(2)应填Component*。注意是指针。
函数Footer(Component *myC)是Footer类的构造函数,故空(3)处是对基类的构造,因此空(3)应填Decorator(myC)。
Footer类的prtTicket()方法是先打印“基本”票据,再打印脚注。因此空(4)是打印“基本”票据,Footer类是Decorator的子类,故应先调用基类的打印方法,在此应填Decorator::prtTicket()。::为域作用符。
参照Footer类的参照函数,空(5)应为一个Component对象指针,这里是要打印带脚注的票据,故此处应填new SalesTicket()。
转载请注明原文地址:https://kaotiyun.com/show/IqDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某系统中有一个中央数据存储,模块A负责接收新来的数据并修改中央数据存储中的数据,模块B负责访问中央数据存储中的数据,则这两个模块之间的耦合类型为________________。若将这两个模块及中央数据合并成一个模块,则该模块的内聚类型为_________
调用函数时若是引用调用方式,则是将________________。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,该表达式中x获得的值为________________。
某算术表达式用二叉树表示如下,该算术表达式的中缀式为________________,其后缀式为________________。
软件开发中经常利用配置库实现变更控制,主要是控制软件配置项的状态变化,不受配置管理控制的是()。
下面关于防火墙功能的说法中,不正确的是(6)。
操作系统通过______来组织和管理外存中的信息。
一个Web信息系统所需要进行的测试包括____________。①功能测试②性能测试③可用性测试④客户端兼容性测试⑤安全性测试
假设系统采用PV操作实现进程同步与互斥。若n个进程共享两台打印机,那么信号量S的取值范围为()。
以下关于数据流图的叙述中,不正确的是______。
随机试题
关于摊铺导排层、收集渠码砌,说法错误的是()。
胁痛辨证除有虚实之分,还要辨
患儿,女,6岁3个月。6天前无明显诱因出现高热,体温最高达39.2℃,口干舌燥,微恶风,口渴喜饮,无汗,微咳,目赤头痛,球结膜充血,口咽潮红,双侧扁桃体Ⅱ度肿大,面部、躯干部散在分布无痛皮疹,压之褪色,颈后淋巴结肿大,活动度好,有触痛,舌边尖红,苔薄黄
中药炮制学专门研究
国内引起新生儿溶血病最常见的原因是()。
根据《仲裁法》的规定,涉外仲裁委员会作出的发生法律效力的裁决,当事人请求执行的,如果被执行人或者其财产不在中华人民共和国领域内,应当由下列哪一主体向有管辖权的外国法院申请承认和执行:()
会计人员职业道德表现好与差,()是最直接的受益者或受害者。
甲公司2×16年3月份A商品有关收、发、存情况如下:(1)3月1日结存300件,单位成本为2万元。(2)3月8日购入200件,单位成本为2.2万元。(3)3月10日发出400件。(4)3月20日购入300件,单位成本
苏霍姆林斯基教育思想的核心内容是()
WhichofthefollowingsentencesisINCORRECT?
最新回复
(
0
)