信管网试题库
软件设计师 - 试题库 导航

2023年上半年软件设计师案例分析真题答案解析(试题六)

2023年06月01日来源:信管网 作者:cnitpm

2023年上半年软件设计师案例分析科目考试已经结束,以下为信管网整理的2023年上半年软件设计师案例分析试题六的真题答案及解析。

点击查看:2023年上半年软件设计师案例分析真题答案解析汇总

点击查看:2023年上半年软件设计师真题答案解析(上午+下午试题)

2023年上半年软件设计师案例分析真题答案解析(试题六)

试题六

阅读下列说明和C++代码,将应填入 (n)处的字句写在对应栏内

说明

在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound.upper bound]:[lower bound...upper bound]:[lower bound-upper bound] 等现采用策略(strategy)模式实现该要求,得到如图6-1所示的类图。


图6-1类图

【C++代码】

#include

using namespace std

class Print strategy{

Public:

(1);

}

class Interval{

Private:

double lower Bound;

double upper Bound;

Public:

Interval(double P lower,double P_upper){

lower Bound=P lower;

upper Bound=P_upper;

}

void Print Interval(Print strategy"prt){

(2);

}

double get lower (){

return lower Bound}

double get upper{

return upper Bound}

}

class Print Intervals Comma:Public Prints Strategy{

public:

void do Print(Interval *val){

cout《"["《val→get Lower()《“···”《val(→getupper()《]”《

endl;}

};

class Print Intervals Dots:Public Print Strategy{

Public:

void do Print (Interval*val){

cout《"["《val→get Lower]《“…”《val→get upper()《“]”《

endl:}

};

class Print Intervals Line:Public Print Strategy{

Public:

Void do Print (Interval*val){

cout《"["《val→get Lower()《“…”《val-get upper()《“]”《

endl;}

enum TYPE{ COMMA.DOTs.LINE}

Print strategy* get strategy (int type){

Print strategy*st;

switch (type){

case COMMA:

(3);

break;

case Dots:

(4);

break:

case LINE

(5);

break;

}

return st;

}

int main(){

Interval a(1.7,2.1);

a.Print Interval(get strategy(COMMA);

a.Print Interval(get strategy(DoTs);

a.Print Interval(get strategy(LINE);}

}return 0;

【参考答案http://www.cnitpm.com/st/571119145.html

温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

分享至:

信管网 - 信息系统项目管理专业网站

下载APP-在线学习

培训课程

0元畅享

考试题库

免费资料

客服咨询