gpt4 book ai didi

c++ - C++中工厂方法模式的使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:59:23 24 4
gpt4 key购买 nike

我正在寻找在 C++ 中使用工厂方法模式的实际示例。是否有任何源代码示例可以很好地说明。

最佳答案

我喜欢 Codeproject 教授的内容:

http://www.codeproject.com/KB/architecture/FactoryPattBasics.aspx

class CUIFrameWork 
{
public:
// Instead of hard coding we write factory methods which
// perform the task of object creation.
virtual CDataComponent* MakeDataComp()
{
return new CDataComponent();
}

virtual CUIComponent* MakeUIComp()
{
return new CUIComponent();
}

virtual CToolBarComponent* MakeToolBarComp( UINT nID )
{
return new CToolBarComponent( nID );
}

CUITemplate* CreateUI()
{
CDataComponent* pData = MakeDataComp();
CUIComponent* pUI = MakeUIComp();
CToolBarComponent* pTooBar1 = MakeToolBarComp( ID_STANDARD );
CToolBarComponent* pTooBar2 = MakeToolBarComp( ID_CUSTOM );
pTooBar2->AddDropDownButton();
pTooBar2->AddComboBox();

pUI->AddToolBar(pTooBar1);
pUI->AddToolBar(pTooBar2);

return new CUITemplate( pData, pUI );
}
};

关于c++ - C++中工厂方法模式的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4688385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com