试题五(共15分)阅读下列说明和C++-代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】某发

  • 发布时间:
  • 浏览:79
  • 来源:大数据
试题五(共15分) 阅读下列说明和C++-代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。 【C++代码】 include <iostream> using 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 printinvoice0 { cout《 "This is the header of the invoice! "$ (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.printlnvoice(); 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! 请帮忙给出正确答案和分析,谢谢!
答案

验证码: 验证码:  

答案: 输入验证码查询

解析