问答题

【说明】
通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中,应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。
下面的代码应用了单身模式(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。......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
【说明】函数int Toplogical(LinkedWDigraph G)的功能是对图G中的顶点进行拓扑排序,并返回关键路径的长度。其中图G表示一个具有n个顶点的AOE一网,图中顶点从1~n依次编号,图G的存储结构采用邻接表表示,其数据类型定义如下:typedef struct Gnode{ *邻接表的表结点类型* int adivex; *邻接顶点编号* int weight; *弧上的权值* bstmct Gonde*nextare; *指示下一个弧的结点* }Gnode;typedef struct Adjlist{ *邻接表的头结点类型* char vdata; *顶点的数据信息* struct Gnode*Firstadj; *指向邻接表的第1个表结点* }Adjlist;typedef struct LinkedWDigraph{ *图的类型* int n, e; *图中顶点个数和边数* struct Adjlist head; *指向图中第1个顶点的邻接表的头结点* }LinkedWDigraph;【函数】int Toplogical(LinkedWDigraph G){ Gnode *p;int j,w,top=0;int *Stack,*ve,*indegree;ve=(int *)mallloc(G.n+1)* sizeof(int)};indegree=(int *)malloc((G.n+1)*sizeof(int)); *存储网中个顶点的入度* Stack=(int *)malloc((G.n+1)*sizeof(int)); *存储入度为0的顶点的编号* if(!ve‖!indegree‖!Stack)exit(0);for(j=1;j<=G.n;j++){ve[j]=0; indegree[j]=0;} *for* for(j=1;j<=G.n;j++){ *求网中各顶点的入度* p=G.head[j].Firstadj;while(p){(1) ; p=p->nextarc;} *while* } *for* for(i=1;j<=G.n;j++) 求网中入度为0的顶点并保存其编号* if(!indegree[j]) Stack[++top]=j;while(top>0){w= (2) ;printf( %c , G.head[w].vdata);p=G.head[w].Firstadj;while(p){(3) ;if(!indegree[p->adjvex])Stack[++top]=p->adjvex;if( (4) )ve[p->adjvex]=ve[w]+p->weight;p=p->nextarc;} *while* return (5) ;} *Toplogical*