软件设计师考试历年试题 软件设计工程师试题
阅读以下说明和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;
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>