早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。说明 通常情况下,用户可以对应

题目

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

说明

通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中。应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样, Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。

C++代码

#include<iostream.h>

class Configure{

(1):

Configure(){} //构造函数

public:

static Configure*Instance();

public:

int GetConf~ureData(){return data;} //获取配置信息

int SetConfigureDate(int m_data)

{data=m_data; return data;} //设置配置信息

private:

static Configure*_instance;

int data; //配置信息

};

(2)=NULL;

Configure*Configure∷Instance(){

if(_instance=NULL){

_instance=(3);

//加载配置文件并设置内存配置信息,此处省略

}

return (4);

}

void main()(

Configure*t=NULL;

t=(5);

int d=t→GetConfigureData();

//获取配置信息后进行其他工作,此处省略

}

参考答案
正确答案:(1)private (2)Configure*Configure∷_inStance (3)new Configure (4)_instance (5)Configure∷Instance()
(1)private (2)Configure*Configure∷_inStance (3)new Configure (4)_instance (5)Configure∷Instance() 解析:根据题目要求Configure类为单身模式,即只能产生一个实例。为了实现这一目标常用的方法是:第一种,把类本身的构造函数加访问权限控制符private让外部方法无法直接调用它:第二种,声明一个此类的静态指针,用于指向仅能产生的那一个实例;第三种,声明一个public的返回结果为此类的方法,供外界调用。
  本题(1)空处要求填写构造函数的访问权限public、protected和private,由于是单身模式,所以类必须只能有一个实例,所以其构造函数应该设置为private,防止类的使用者构造类的多个实例。
  又由于staticConfigure*_instance是一个静态成员变量,必须初始化,所以(2)空处应填写static Configure∷Configure*_instance。
  对于本题(3)空处应构造类的一个实例new Configure()。
  对于本题(4)空处返回instance,在主函数中应用此类时,只能通过Instance来实例化一个Configure对象。