填空题

阅读下列函数说明和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();

【参考答案】

Decorator(myC)
热门 试题

问答题
(3)处填()。
填空题
a[i+1]=0