代码拉取完成,页面将自动刷新
同步操作将从 GoodmanTao/DesignPatternInC 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include <stdio.h>
#include "ComponentListBox.h"
//属性、方法声明
struct ComponentListBox_Fld
{
//类实例专用内存池
apr_pool_t *m_pPool;
//继承接口
IComponent m_component;
};
//实现接口方法
static void Free(IComponent **ppComponent)
{
ComponentListBox_Free(&((ComponentListBox *)(*ppComponent)->pImplicit));
*ppComponent = NULL;
}
//实现接口方法
static void Display(IComponent *pComponent)
{
//ComponentListBox *pInst = (ComponentListBox *)pComponent->pImplicit;
puts("显示列表框。");
}
ComponentListBox * ComponentListBox_New(apr_pool_t * pSupPool)
{
apr_pool_t *pPool;
apr_pool_create(&pPool, pSupPool);
ComponentListBox *pInst = apr_palloc(pPool, sizeof(ComponentListBox));
pInst->pFld = apr_palloc(pPool, sizeof(ComponentListBox_Fld));
pInst->pFld->m_pPool = pPool;
pInst->pFld->m_component.pImplicit = pInst;
pInst->pFld->m_component.Free = Free;
pInst->pFld->m_component.Display = Display;
return pInst;
}
IComponent * ComponentListBox2IComponent(ComponentListBox * pInst)
{
return &(pInst->pFld->m_component);
}
void ComponentListBox_Free(ComponentListBox **ppInst)
{
apr_pool_destroy((*ppInst)->pFld->m_pPool);
*ppInst = NULL;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。