信管网试题内容
信管网 导航

试卷名称: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;
参考答案:暂时没有答案(仅供参考) 收藏

【解析】

普通会员无法查看试题解析。[开通试题解析服务]