【发布时间】:2014-04-25 05:22:23
【问题描述】:
请看下面的代码:
#include<string>
class abc
{
public:
static const abc PENDING;
private:
static const string PENDING_STATUS_CD;
abc ( const string& iStatus )
{
//...........
Logintodatabase();
//.............
logoutfromdatabase();
}
};
const string abc::PENDING_STATUS_CD = "P";
const abc abc::PENDING ( abc::PENDING_STATUS_CD );
一旦 const abc abc::PENDING( abc::PENDING_STATUS_CD );被调用,它会调用构造函数abc ( const string& iStatus )。
事实上,如果在类内部定义了多个静态类变量,则每次初始化都会调用构造函数。
这个构造函数负责打开和关闭数据库。
对于每个静态变量初始化,数据库将打开和关闭。
假设这个类被多个进程使用,那么数据库将打开和关闭很多次。
您能建议如何解决这个问题吗?
谁能告诉我如何设计这个逻辑?
【问题讨论】:
-
您要求解决方案,但问题仍然有点不清楚。请您编辑问题以详细说明问题。
标签: c++