当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >软件设计师考试历年试题 软件设计工程师试题

软件设计师考试历年试题 软件设计工程师试题

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

阅读以下说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】 某绘图系统存在point、line、square三种图元,它们具有shape接口,图元的类图关系如图5-1所示。现要将circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了xcircle类,且完全满足系统新增的circle图元所需的功能,但xcircle不是由shape派生而来,

引号

阅读以下说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

某绘图系统存在point、line、square三种图元,它们具有shape接口,图元的类图关系如图5-1所示。现要将circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了xcircle类,且完全满足系统新增的circle图元所需的功能,但xcircle不是由shape派生而来,它提供的接口不能被系统直接使用。代码5-1既使用了xcircle又遵循了shape规定的接口,既避免了从头,开发一个新的circle类,又可以不修改绘图系统中已经定义的接口。代码5-2根据用户指定的参数生成特定的图元实例,并对之进行显示操作。

绘图系统定义的接口与xcircle提供的显示接口及其功能如下表所示:

【代码5-1】

class circle:public (1) {

pfivme:

(2) m_circle;

public:

void display(){

m_circle. (3) ;

}

};

【代码5-2】

class factory{

public:

(4) getshapeinstance (int type){ //生成特定类实例

switch (type){

case 0:rcturn new point;

case l:return new rectangle;

case 2: return new line;

case 3: return new circle;

default: return null;

} void main (int argo, char *argv[]) {

if (argc!=2) {

cout << "error parameters !" << endl; return; inttype=atoi (argv[1]) ;

factory factory;

shape *s;

s = factory. (5) :

if (s==null) {

cout << "error get the instance !" << endl;

return;

}

s->display () ;

(6) ;

return;

代理合作学习群