#include <iostream>
using namespace std;
class SingleCore {
public:
virtual void Show() = 0;
};
class SingleCoreA :public SingleCore {
public:
void Show() { cout << "Single Core A" << endl; }
};
class SingleCoreB :public SingleCore {
public:
void Show() { cout << "Single Core B" << endl; }
};
class Factory {
public:
virtual SingleCore* CreateSingleCore() = 0;
};
class FactoryA :public Factory {
public:
SingleCore* CreateSingleCore()
{
cout << "Create SingleCore A" << endl;
return new SingleCoreA();
}
};
class FactoryB :public Factory {
public:
SingleCore* CreateSingleCore()
{
cout << "Create SingleCore B" << endl;
return new SingleCoreB();
}
};
int main()
{
FactoryA m;
SingleCore* p = m.CreateSingleCore();
p->Show();
FactoryB n;
p = n.CreateSingleCore();
p->Show();
}
混合欢迎使用CSDN-markdown编辑器
最新推荐文章于 2024-05-03 15:53:52 发布