包含和聚合

ATL包含和聚合

实现聚合的步骤:
1.创建一个内部主件
2.创建一个外部主件
3.添加代码
IUnkNown* m_pSimpleUnkNow;
DECLARE_GET_CONTROLLING_UNKNowN()


HRESULT FinalConstruct()
{
HRESULT hr = CoCreateInstance(CLSID_MyMath,GetControllingUnkNown(),
CLSCTX_INPROC_SERVER,IID_IUnkNown,(void**)&m_pSimpleUnkNow);
return hr;
}

void FinalRelease()
{
if(m_pSimpleUnkNow)
{
m_pSimpleUnkNow->Release();
}
}
实现包容的步骤:
1.创建一个内部主件
2.创建一个外部主件
3.添加代码
继承IMyMath接口
COM_INTERFACE_ENTRY(IMyMath)
IMyMath *m_pMath;
HRESULT FinalConstruct()
{
HRESULT hr = CoCreateInstance(CLSID_MyMath,CLSCTX_INPROC_SERVER,IID_IMyMath,(void**)&m_pMath);
return hr;
}

void FinalRelease()
{
if(m_pMath)
{
m_pMath->Release();

} }

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...