閱讀以下說明和C++程序代碼,將應(yīng)填入一叢皿一處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
在下面的C++代碼中,類SalesTicket能夠完成打印票據(jù)正文的功能,類HeadDecorator與FootDecorator分別完成打印票據(jù)的臺頭和腳注的功能。己知該程序運行后的輸出結(jié)果如下所示,請?zhí)钛a該程序代碼中的空缺。
這是票據(jù)的臺頭!
這是票據(jù)正文!
這是票據(jù)的腳注!
---------------------
這是票據(jù)的臺頭!
這是票據(jù)的腳注!
【C++程序代碼】
#include<iostream>
using namespace std;
class SalesTicket{
public:
(1) printTicket(){cout <<”這是票據(jù)正文!” << 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(){
cout << “這是票據(jù)的臺頭!” << endl;
Decorator :: printTicket();
}
};
class FootDecorator:public Decorator{
public:
FootDecorator(SalesTicket *t) : (3) {}
void printTicket(){
Decorator::printTicket():
cout << “這是票據(jù)的腳注!” << endl;
}
};
void main (void){
SalesTicket t;
FootDecorator f(&t):
HeadDecorator h( (4) ):
h. printTicket():
cout << “------------------------------” << endl;
FootDecorator a(NULL);
HeadDecorator b( (5) );
b .printTicket();
}