bookobject.cpp
来自「个人电子图书管理系统.提供电子书的书名和其他信息.检查电子书信息的合法性(E-1」· C++ 代码 · 共 85 行
CPP
85 行
// 静态模型
#pragma comment(lib, "Rpcrt4.lib" )
#include "BookObject.h"
#include <objbase.h>
namespace Library
{
/// <summary>使用一个uuid创建Object</summary>
/// <param name="uuid">用字符串表示的一个全球唯一标识符</param>
/// <remarks></remarks>
BookObject::BookObject(std::string uuid):id(uuid)
{
}
/// <summary>缺省构造函数</summary>
/// <exception cref="KException">无法生成Guid</exception>
/// <remarks>这个构造函数将调用BookObject::CreateID(), 以产生uuid</remarks>
BookObject::BookObject()
{
try{
id = CreateID();
}
catch(...){
// 重新抛出异常
throw;
}
}
/// <summary>不产生ID的构造函数</summary>
/// <param name="i">占位符</param>
/// <remarks></remarks>
BookObject::BookObject(int i)
{}
/// <summary>创建一个GUID</summary>
/// <returns>返回用字符串表示的GUID</returns>
/// <exception cref="KException">无法生成Guid</exception>
/// <remarks>静态成员函数.无法生成Guid,可能的原因是操作系统
/// </remarks>
/*static*/ std::string BookObject::CreateID()
{
GUID gID;
unsigned char* chID = NULL;
if(CoCreateGuid(&gID) != RPC_S_OK)
{
throw KException("无法生成Guid");
}
if( UuidToStringA(&gID, &chID) != RPC_S_OK)
{
throw KException("无法生成Guid");
}
std::string strID((char*)chID);
RpcStringFreeA(&chID);
return strID;
}
/// <summary>从一个XML节点加载BookObject(或其派生类)</summary>
/// <param name="elem">[IN]一个XML节点的指针,不能为空</param>
/// <returns> 成功返回:0 失败返回: 其它值
/// </returns>
/// <remarks>虚函数, 具体行为由BookObject的派生类实现.</remarks>
int BookObject::LoadFromXml(TiXmlElement* elem)
{
return 0;
}
/// <summary>把BookObject(或其派生类)的信息保存到一个XML节点</summary>
/// <param name="elem">[IN]一个XML节点的指针,将根据信息的内容,重新构造节点的结构.不能为空</param>
/// <returns> 成功返回:0 失败返回: 其它值
/// </returns>
/// <remarks>虚函数, 具体行为由BookObject的派生类实现.</remarks>
int BookObject::SaveToXml(TiXmlElement* elem)
{
return 0;
}
} // Library
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?