2021年11月03日来源:信管网 作者:cnitpm
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图5-1所示为其类图。
【C++代码】#include#includeusingnamespacestd;
classProduct{private:
stringpartA,partB;public:
Product(){}
voidsetPartA(conststring&s){PartA=s;}
voidsetPartB(conststring&s){PartB=s;}
∥其余代码省略
};
classBuilder{public:
(1);
virtualvoidbuildPartB()=0;
(2);
};
classConcreteBuilder1:publicBuilder{private:
Product*product;public:
ConcreteBuilder1(){product=newProduct();}
voidbuildPartA(){(3)("ComponentA");}
voidbuildPartB(){(4)("ComponentB");}
Product*getResult(){returnproduct;}
∥其余代码省略
};
classConcreteBuilder2:publicBuilder{
/*代码省略*/
};
classDirector{private:
Builder*builder;public:
Director(Builder*pBuilder){builder*pBuilder;}
voidconstruct(){
(5)
∥其余代码省略
}
∥其余代码省略
};
intmain(){
Director*director1=newDirector(newConcreteBuilder1());
directorl->construct();
deletedirector1;
return0;
}
信管网参考答案:
(1) virtualvoidbuildPartA()=0
(2) virtualProduct*getResult()=0
(3) product->setPartA
(4) product->setPartB
(5) builder->buildPartA();
builder->buildPartB();
Product*p=builder->getResult();
查看解析:www.cnitpm.com/st/3963712727.html
相关推荐:
免费练习:软件设计师考试题库(模拟试题、章节练习、每日一练)
温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关推荐