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;
信管网订阅号
信管网视频号
信管网抖音号
温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!
信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。
信管网软考课程由信管网依托10年专业软考教研倾力打造,教材和资料参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。
发表评论 查看完整评论 | |