阅读下列函数说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。 下面的

admin2010-01-15  43

问题 阅读下列函数说明和Java代码,将应填入(n)处的字句写在对应栏内。
    【说明】
   通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。
   下面的代码应用了单身模式(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 (2)Configure *Configure∷_instance (3)new Configure (4)_instance (5)Configure∷Instance()

解析 (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。
转载请注明原文地址:https://kaotiyun.com/show/8cDZ777K
0

相关试题推荐
最新回复(0)