IDocument.h:
#pragma once
class IPage;
class IDocument
{
public:
virtual ~IDocument(void){}
public:
//---------------------------------------------------------------
//function:
// GenerateId 生成本文档内唯一的文本对象ID
//Access:
// virtual public
//Parameter:
//Returns:
// int - 返回ID
//Remarks:
// ...
//author: luoweifu
//---------------------------------------------------------------
virtual int GenerateId() = 0;
//---------------------------------------------------------------
//function:
// AddPage 添加一页
//Access:
// virtual public
//Parameter:
//Returns:
// IPage* - 返回页对象
//Remarks:
// ...
//author: luoweifu
//---------------------------------------------------------------
virtual IPage* AddPage() = 0;
};
IPage.h:
#pragma once
class ITextUnit;
class IPage
{
public:
virtual ~IPage(void){}
public:
//---------------------------------------------------------------
//function:
// AddTextUnit 添加一个文本单元
//Access:
// virtual public
//Parameter:
//Returns:
// ITextUnit* - 文本单元对象
//Remarks:
// ...
//author: luoweifu
//---------------------------------------------------------------
virtual ITextUnit* AddTextUnit() = 0;
};
ITextUnit.h
#pragma once
class ITextUnit
{
public:
~ITextUnit(void){}
public:
//---------------------------------------------------------------
//function:
// GetId 获得ID
//Access:
// virtual public
//Parameter:
//Returns:
// int - 返回ID
//Remarks:
// ...
//author: luoweifu
//---------------------------------------------------------------
virtual int GetId() = 0;
//---------------------------------------------------------------
//function:
// SetId 设置ID
//Access:
// virtual public
//Parameter:
// [in] int id - 要设置的ID
//Returns:
// void -
//Remarks:
// ...
//author: luoweifu
//---------------------------------------------------------------
virtual void SetId(int id) = 0;
};
#pragma once #include "IDocument.h" #include "IPage.h" #include "ITextUnit.h" //=============================================================== //要导出静态库时,导出库的工程和使用库的工程都要加预编译宏EXPORT_STATIC //要导出动态库时,导出库的工程要加预编译宏EXPORT_STATIC,使用库的工程不用 //=============================================================== #ifdef EXPORT //导出库 #define _API_ __declspec(dllexport) #else //导入库 #define _API_ __declspec(dllimport) #endif //EXPORT #ifdef EXPORT_STATIC //导出静态库 #define EBAPI int #else //导出动态库 #define EBAPI extern "C" _API_ int #endif //EXPORT_STATIC //--------------------------------------------------------------- //function: // CreateDoc 创建Document对象 //Access: // public //Parameter: // [in] IDocument * & pDocument - //Returns: // EBAPI - //Remarks: // ... //author: luowf[/luoweifu] //--------------------------------------------------------------- EBAPI CreateDoc(IDocument*& pDocument); //--------------------------------------------------------------- //function: // DestroyDoc 销毁一个Document对象 //Access: // public //Parameter: // [in] IDocument * pDocument - //Returns: // EBAPI - //Remarks: // ... //author: luowf[/luoweifu] //--------------------------------------------------------------- EBAPI DestroyDoc(IDocument* pDocument);
#include "stdafx.h"
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
IDocument* pDoc = NULL;
if(CreateDoc(pDoc) != 0)
{
return -1;
}
IPage* pPage = pDoc->AddPage();
ITextUnit* pTextUnit = pPage->AddTextUnit();
std::cout << pTextUnit->GetId() << std::endl;
DestroyDoc(pDoc);
return 0;
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有