第一范文网 - 专业文章范例文档资料分享平台

2010下半年软件设计师下午真题及参考答案

来源:用户分享 时间:2025/8/24 12:14:29 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

5 / 11

【问题 3】(2 分)

若将元素 10 插入到堆 A =〈15, 13, 9, 5, 12, 8, 7, 4, 0, 6, 2, 1〉中,调用 maxHeapInsert函数进行操作,则新插入的元素在堆 A 中

第(9)个位置(从 1 开始)。

试题五(共 15 分)

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

某公司的组织结构图如图5-1 所示,现采用组合(Composition)设计模式来构造该公司的组织结构,得到如图5-2 所示的类图。

其中Company 为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分司/办事处或者部门的方法接口。类 ConcreteCompany 表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类 HRDepartment 和 FinanceDepartment分别表示人力资源部和财务部。 【C++代码】

#include #include #include using namespace std;

class Company { // 抽象类 protected:

string name; public:

Company(string name) { (1) = name; } (2) ; // 增加子公司、办事处或部门 (3) ; // 删除子公司、办事处或部门 };

class ConcreteCompany : public Company { private:

list< (4) > children; // 存储子公司、办事处或部门 public:

ConcreteCompany(string name) : Company(name) { } void Add(Company* c) { (5) .push_back(c); } void Delete(Company* c) { (6) .remove(c); } };

class HRDepartment : public Company { public:

HRDepartment(string name) : Company(name) {} // 其它代码省略 };

class FinanceDepartment : public Company {

6 / 11

public:

FinanceDepartment(string name) : Company(name) {} // 其它代码省略 };

void main() {

ConcreteCompany *root = new ComcreteCompany(\北京总公司\ root->Add(new HRDepartment(\总公司人力资源部\ root->Add(new FinanceDepartment(\总公司财务部\

ConcreteCompany *comp = new ConcreteCompany(\上海分公司\comp->Add(new HRDepartment(\上海分公司人力资源部\ comp->Add(new FinanceDepartment(\上海分公司财务部\ (7) ;

ConcreteCompany *comp1 = new ConcreteCompany(\南京办事处\comp1->Add(new HRDepartment(\南京办事处人力资源部\comp1->Add(new FinanceDepartment(\南京办事处财务部\ (8) ; //其它代码省略 }

试题六(共 15 分)

阅读下列说明和 Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】说明及图表和上题相同。 【Java 代码】 import java.util.*;

(1) Company {

Protected String name;

Public Company(String name) { (2) = name; }

Public abstract void Add(Company c); // 增加子公司、办事处或部门 Public abstract void Delete(Company c); // 删除子公司、办事处或部门 }

class ConcreteCompany extends Company {

private List< (3) > children = new ArrayList< (4) >(); // 存储子公司、办事处或部门

public ConcreteCompany(String name) { super(name); } public void Add(Company c) { (5) .add(c); } public void Delete(Company c) { (6) .remove(c); } }

class HRDepartment extends Company {

public HRDepartment(String name) { super(name); } // 其它代码省略 }

class FinanceDepartment extends Company {

public FinanceDepartment(String name) { super(name); } // 其它代码省略 }

public class Test {

public static void main(String[] args) {

ConcreteCompany root = new ConcreteCompany(\北京总公司\root.Add(new HRDepartment(\总公司人力资源部\root.Add(new FinanceDepartment(\总公司财务部\

ConcreteCompany comp = new ConcreteCompany(\上海分公司\comp.Add(new HRDepartment(\上海分公司人力资源部\comp.Add(new FinanceDepartment(\上海分公司财务部\ (7) ;

ConcreteCompany comp1 = new ConcreteCompany(\南京办事处\ comp1.Add(new HRDepartment(\南京办事处人力资源部\ comp1.Add(new FinanceDepartment(\南京办事处财务部\ (8) ; // 其它代码省略 } }

7 / 11

8 / 11

2010下半年软件设计师下午真题及参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8qt6y1935a2p7v440md5_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top