当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >2018年5月 软件设计师 下午题之五

2018年5月 软件设计师 下午题之五

作者:mb62678baacf7372023-11-24 01:00:14
备考咨询 刷题指导
添加专属学姐
下载资料 2024上半年软考备考资料+考试大纲
下载按钮 下载
引号

摘要:对于【软件设计师】软考考试而言,真题无疑是最重要的学习资料之一。在软考备考过程中,吃透真题、掌握真题所考知识点、熟悉真题的出题思路,对我们提升分数的效果是最明显的,通过对真题的反复练习,还可以查漏补缺。今天,给大家带来【2018年5月 软件设计师 下午题】部分真题的详解,一起来看看吧~1、阅读下列说明和 C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】生

引号
摘要:对于【软件设计师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2018年5月 软件设计师 下午题】部分试题的详解,一起来看看吧~



1、阅读下列说明和 C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】生成器( Builder)模式的意图是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。图 5-1 所示为其类图。【C++代码】#include <iostream>#include <string>using namespace std;class Product {private:    string partA, partB;public:Product() {   }     voidsetPartA(const string& s) { PartA = s;}     voidsetPartB(const string& s) { PartB = s;}//  其余代码省略};class Builder {public:        (1)   ;virtual void buildPartB()=0;        (2)   ;};class ConcreteBuilder1 : public Builder {private:Product*   product;public:ConcreteBuilder1() {product = new Product();     }    voidbuildPartA() {      (3)     ("Component A"); }    voidbuildPartB() {      (4)     ("Component B"); }Product* getResult() { return product; }//  其余代码省略};class ConcreteBuilder2 : public Builder {    /*    代码省略    */};class Director {private: Builder* builder;public:   Director(Builder* pBuilder) { builder= pBuilder;}     voidconstruct() {              (5)     ;     //  其余代码省略      }//  其余代码省略};int main() {Director* director1 = new Director(new ConcreteBuilder1()); director1->construct();   delete director1;    return 0;
答案:

(1) virtual void buildPartA() = 0
(2) virtual Product * getResult() = 0
(3) product->setPartA
(4) product->setPartB
(5) builder->buildPartA();       
builder->buildPartB();       
Product* p = builder->getResult();


答题解析:



查看完整试题>>>


免费刷题报考资讯 机考模拟 学习群