首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOr
阅读下列函数说明和C++代码,将应填入(n)处的字句写在对应栏内。 [说明] 在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOr
admin
2010-12-17
35
问题
阅读下列函数说明和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>0)&&(b>0))‖c<5),需要______个测试用例才能完成条件组合覆盖。
对于逻辑表达式(((a|b)‖(c>2))&&d<0),需要________________个测试用例才能完成条件组合覆盖。
某计算机系统采用页式存储管理方案,假设其地址长度为32位,其中页号占20位,页内地址占12位。系统中页面总数与页面大小分别为________________。
以下关于设计功能测试用例的叙述,______是不正确的。A.尽量用80%测试用例覆盖20%的核心业务模块B.功能测试用例中不包括功能的依从性测试用例C.功能测试用例中包括业务流,也包括测试数据D.功能测试用例的设计应注意缺陷群集现象
在一个完整的功能测试过程中,______不属于应该编写的测试文档。A.测试需求文档B.测试用例文档C.测试标准D.问题报告单
程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的()。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
当一个双处理器的计算机系统中同时存在3个并发进程时,同一时刻允许占用处理器的进程数______。
随机试题
"Doyouwanttogiveatalkonthatsubject?"______
何谓损伤性休克?
下列有关药物表观分布容积的叙述中,叙述正确的是
下列不是国家助学贷款原则的是()。
可转换债券筹资的优点包括( )。
将心理学引入教育的第一人是()
某一楼一户住宅楼共17层,电梯费按季度缴纳,分摊规则为:第一层的住户不缴纳;第二层及以上的住户,每层比下一层多缴纳10元。若第一季度该住宅楼某单元的电梯费共计1904元,则该单元第7层住户一季度应缴纳的电梯费是()。
甲、乙签订私房买卖合同,甲将自己的房屋转让给乙,并在1个月后交房。但在交房日期到来之前,甲将该房出卖给丙且办理了过户登记,则()。
刘经理是某信息系统集成项目的项目经理,在制作WBS后,得出项目的所有工作包和活动。刘经理据此制作了前导图,如图4-4-1所示。为了加快进度,在进行活动G时加班赶工,因此将该项工作的时间压缩了6天(历时5天)。请指出此时的关键路径是否改变,如果改变,关
Accordingtoarecentcross-culturalstudy,marriedpeopleingeneralhavelongerlifeexpectanciesthandopeoplewhodivorcea
最新回复
(
0
)