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

试卷名称:2005年上半年软件设计师考试下午真题试题(案例分析)

考试年份:2005年上半年

试题来源:《2005年上半年软件设计师考试下午真题试题(案例分析)》在线考试

试题内容

试题五
阅读以下说明和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;



参考答案:暂时没有答案(仅供参考) 收藏

【解析】

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