2010年軟件水平考試軟件設(shè)計師考前練習(xí)題(6)

字號:

2010年軟件水平考試軟件設(shè)計師考前練習(xí)題(6)

    試題5(15分)
    閱讀下列函數(shù)說明和C++代碼,將應(yīng)填入(__n__)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
    【說明】
    通常情況下,用戶可以對應(yīng)用系統(tǒng)進(jìn)行配置,并將配置信息保存在配置文件中,應(yīng)用系統(tǒng)在啟動時首先將配置文件加載到內(nèi)存中,這些內(nèi)存配置信息應(yīng)該有且僅有一份。
    下面的代碼應(yīng)用了單身模式(Singleton)以保證Configure類只能有一個實例。這樣,Configure類的使用者無法定義該類的多個實例,否則會產(chǎn)生編譯錯誤。
    # include
    class Configure {
    (1) :
    Configure(){}; //構(gòu)造函數(shù)
    public:
    static Configure *Instance();
    public:
    int GetConfigureData(){return data;} //獲取配置信息
    int SetConfigureDate(int m_data)
    { data = m_data; return data; } //設(shè)置配置信息
    private:
    static Configure * _instance;
    int data; //配置信息};
    (2) = NULL;
    Configure * Configure::Instance ()
    { if (_instance == NULL)
    { _instance = (3) ;
    //加載配置文件并設(shè)置內(nèi)存配置信息,此處省略}
    return (4) ;
    }void main()
    { Configure *t = NULL;
    t = (5) ;
    int d=t->GetConfigureData();
    //獲取配置信息后進(jìn)行其它工作,此處省略
    }
    試題6(15分)
    閱讀下列函數(shù)說明和Java代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對應(yīng)欄內(nèi)。
    【說明】
    類Queue表示隊列,類中的方法如下表所示。
    isEmpty() 判斷隊列是否為空。如果隊列不為空,返回true;否則,返回false
    enqueue(Object newNode) 入隊操作
    dequeue() 出隊操作。如果隊列為空,則拋出異常
    類Node表示隊列中的元素;類EmptyQueueException給出了隊列操作中的異常處理操作。
    public class TestMain{ //主類
    public static viod main (String args[])
    {
    Queue q = new Queue();
    q.enqueue(“first!”);q.enqueue(“second!”);
    q.enqueue(“third!”);
    (1)
    { while(true)
    System.out.println(q.dequeue());
    }
    catch( (2) ){ }
    }
    public class Queue { //隊列
    Node m_FirstNode;
    public Queue(){m_FirstNode = null;}
    public boolean isEmpty(){
    if (m_FirstNode == null) return true;
    else return false;
    }
    public viod enqueue(Object newNode){//入隊操作
    Node next = m_FirstNode;
    if (next == null) m_FirstNode = new Node(newNode);
    else {
    while(next.getNext() != null) next=next.getNext();
    next.setNext(new node(newNode));
    }}
    public Object dequeue() (3) { //出隊操作
    Object node;
    if (isEempty())
    (4) ; //隊列為空,拋出異常
    else {
    node =m_FirstNode.getObject();
    m_FirstNode=m_FirstNode.getNext();
    return node;
    }}}
    public class Node{ // 隊列中的元素
    Object m_Data;
    Node m_Next;
    public Node(Object data) {m_Data=data; m_Next=null;}
    public Node(Object data, Node next) {m_Data=data; m_Next=next;}
    public void setObject(Object data) {m_Data=data; }
    public Object getObject(Object data) {return m_data;}
    public void setNext(Node next) {m_Next=next;}
    public Node getNext() {return m_Next;}
    }
    public class EmptyQueueException extends (5) { // 異常處理類
    public EmptyQueueException() {
    System.out.println(“隊列已空!”);
    }}