免费智能真题库 > 历年试卷 > 软件设计师 > 2013年上半年 软件设计师 下午试卷 案例
  第5题      
  知识点:   C++   类图

 
【说明】
现要求实现一个能够自动生成求职简历的程序。简历的基本内容包括求职者的姓名、性别、年龄及工作经历等。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。
现采用原型(Prototype)模式来实现上述要求,得到如图5-1所示的类图

C++代码】
#include<string>
using namespace std;
class Cloneable {
public;
                (1)               ;
};
class WorkExperience:public Cloneable {    //工作经历
private;
     string workDate;
     string company;
public;
     Cloneable* Clone(){
                  (2)                   ;
     obj->workDate=this->workDate;
     obj->company=this->company;
     return obj;
        } 
       //其余代码省略
};
class Resume:public Cloneable {         //简历
private;
          string name;    string sex;    string age;    
          WorkExperience* work;
          Resume(WorkExperience* work){
                this->work=             (3)               ;
          }
public;
      Resume(string name){    /* 实现略 */     }
      void SetPersonallnfo(string sex, string age;){         /* 实现略 */          }
      void SetWorkExperience(string workDate, string company){    /* 实现略 */    }
      Cloneable* Clone(){
                    (4)                   ;
      obj->name=this->name;
      obj->sex=this->sex;
      obj->age=this->age;
      return obj;
      }
};
int main(){
         Resume *a=new Resume(“张三”);
         a->SetPersonallnfo(“男”,“29”);
         a->SetWorkExperience(“1998~2000”,“XXX公司”);
         Resume *b=          (5)              ;
         b->SetWorkExperience(“2001~2006”,“YYY公司”);
         return 0;
}

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

   知识点讲解    
   · C++    · 类图
 
       C++
        C++语言是一种面向对象的强类型语言,由AT&T的Bell实验室于1980年推出。
        C++语言是C语言的一个向上兼容的扩充,而不是一种新语言。C++是一种支持多范型的程序设计语言,它既支持面向对象的程序设计,也支持面向过程的程序设计。
        C++支持基本的面向对象概念,包括对象、类、方法、消息、子类和继承。C++完全支持多继承,并且通过使用try/throw/catch模式提供了一个完整的异常处理机制。它同时支持静态类型和动态类型,也完全支持多继承,不提供自动的无用存储单元收集,这必须通过程序员来实现,或者通过编程环境提供合适的代码库来予以支持。
 
       类图
        类图(Class Diagram)展现了一组对象、接口、协作及其之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。
        类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。作为模型管理视图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块。类图用于对系统的静态视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计建模时,通常以下述3种方式之一使用类图:对系统的词汇建模;对简单的协作建模;对逻辑数据库模式建模。
        作为静态视图的类图可以包含依赖、关联、泛化、组合、实现关系以及注解和约束等。
        (1)依赖关系是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
        (2)关联关系是一种结构关系,它描述了一组对象之间的链接关系。其中有一种特殊类型的关联关系,即聚集关系,它描述了整体与部分的结构关系。
        (3)泛化关系是一种一般—特殊关系,利用这种关系,子类可以共享父类的结构和行为。
        (4)实现关系是类之间的语义关系,其中的一个类制订了另一个类保证执行的契约。实现关系用于两种情况:在接口和实现它们的类或构件之间;在用例和它们的协作之间。
        (5)组合是聚集关系的变种,表示元素间更强的组合关系。各种关系图例如下图所示。
        
        各种关系图例
   题号导航      2013年上半年 软件设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
 
第5题    在手机中做本题