【说明】
通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。
下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样,Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。
# include <iostream.h>
class Configure
(1) ;
Configure(); //构造函数
public:
static Configure *Instance();
public:
int GetConfigureData()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)public
C++类中,构造函数属于公有成员函数,因此应该填入:public。
(2)Configure *Configure∷_instance
C++类中静态成员变量赋初值,只能在函数和类外进行。
(3)new Configure
Instance是类Configure的静态成员函数,它只能访问类的静态成员_instance,当指针_instance为NULL时,应该给_instance动态分配内存,所以此处应该填入:new Configure。
(4)_instance
类Configure的静态成员函数Instance的返回值是Configure*,即Configure类指针类型,由于此函数只能访问类的静态成员_instance,因此返回值应当是指针_instance。所以此处应该填入:_instance。
(5)Configure∷Instance()
t是一个Configure类指针,初值为NULL,因此此处必须首先动态开辟一个Configure类对象,让t指向这个对象,下面才能进行d=t->GetConfigureData()访问对象的成员函数。所以此处应该填入:new Configure。