再问类的静态成员和耦合性的关系
现在我的几个类都需要使用 系统启动时间,我就想把它做成静态成员
class CInstance
{
public:
static time_t ms_exeStartTime;
}
time_t CInstance::ms_exeStartTime = time(NULL);
现在其他的几个类需要使用这个启动时间 如:
class class1
{
void Test()
{
time_t currentTime = time(NULL);
int iSpan = int(currentTime - CInstance::ms_exeStartTime); //感觉耦合性强,不太好
.....
}
}
如果作为参数传给class1,如
class1::class1(const time_t & exeStartTime)
{
m_exeStartTime = exeStartTime;
}
调用的时候
class1 c1(CInstance::ms_exeStartTime); //class1和CInstance松耦合,但是class1浪费了一个存储空间,创建的对象越多,越浪费
我是将这个启动时间作为参数传递给 class1比较好, 还是在class1的成员方法里直接使用 CInstance::ms_exeStartTime比较好呢?
CInstance::ms_exeStartTime这种用法,感觉有点像单例,对类的耦合性破坏很大,求大神详细分析。