加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
xdata_base.h 1.11 KB
一键复制 编辑 原始数据 按行查看 历史
passker2020 提交于 2014-08-06 10:22 . +增加建创文件
#ifndef _X_DATA_BASE_H_
#define _X_DATA_BASE_H_
//-----------------------------------------------------------------------------------------
namespace zdh
{
//ݻ
class XDataBase
{
public:
XDataBase();
XDataBase(const XDataBase & paramData);
bool isChanged() const;
void CleanChange();
void setChanged(bool paramFlag);
private:
bool m_Change;
};
//-----------------------------------------------------------------------------------------
template <class T>
class XData : public XDataBase
{
public:
typedef T TYPE;
XData()
{
}
XData(const T & paramData)
:m_Data(paramData)
{
}
const T & get() const
{
return m_Data;
}
T & get()
{
return m_Data;
}
const T & operator *() const
{
return m_Data;
}
void set(const T & paramData)
{
if (m_Data != paramData)
{
m_Data = paramData;
setChanged(true);
}
}
XData & operator = (const T & paramData)
{
set(paramData);
return *this;
}
operator T() const
{
return m_Data;
}
private:
XData & operator = (const XData &) { return *this; }
private:
T m_Data;
};
}
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化