c++ 设计模式之简单的工厂模式

调试环境:vs2010


// test0.cpp : 定义控制台应用程序的入口点。


//


#include "stdafx.h"
#include <iostream>
using namespace std;
class COperation
{
public:
int first;
int second;
virtual double getResult()
{
return 0;
}
};
class addOperation : public COperation
{
virtual double getResult()
{
return first + second;
}
};
class subOperation: public COperation
{
virtual double getResult()
{
return first - second;
}
};
class CFactory
{
public:
static COperation* Create(char ope)
{
switch(ope)
{
case '+':
return new addOperation();
break;
case '-':
return new subOperation();
break;
}
}
};
int _tmain(int argc, _TCHAR* argv[])
{
COperation *te = CFactory::Create('-');
te->first = 1;
te->second = 2;
cout<<te->getResult()<<endl;
return 0;
}


原文地址:https://www.cnblogs.com/zhchoutai/p/6943936.html