导航
您当前的位置:首页 > 计算机 > 软件水平
问题:

[问答题] 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。中级软件设计师,历年真题,2016年下半年(下午)《软件设计师》真题【C++代码】#includeusing namespace std;class Invoice{public:(1){cout<<"This is the content of the invoice!"<<endl;}};class Decorator:public Invoice{Invoice*ticket;public:Decorator(lnvoice*t){ticket=t;}void printInvoice(  ){if(ticket!=NULL)(2);}};class HeadDecorator:public Decorator{public:HeadDecorator(lnvoice*t):Decorator(t){}void printInvoice(  ){cout<<"This is the header of the invoice!"<<endl;(3);}};class FootDecorator:public Decorator{public:FootDecorator(Invoice*t):Decorator(t){}void printlnvoice(  ){(4);cout<<"This is the footnote of the invoice!"<<endl;}};int main(void){Invoice t;FootDecorator f(&t);HeadDecorator h(&f);h.printInvoice(  );cout<<”------------------------”<<endl;FootDecorator a(NULL);HeadDecorator b((5));b.printInvoice(  );return 0;}程序的输出结果为:This is the header of the invoice!This is the content of the invoice!This is the footnote of the invoice!----------------------------This is the header of the invoice!This is the footnote of the invoice!
答案解析:

相关问题
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2024 www.daanwo.com All Rights Reserved