資源簡介
此計算器是使用工廠模式實現的簡單的加減乘除程序

代碼片段和文件信息
//?Calculator.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include
using?namespace?std;
//基類
class?COperation
{
public:
double?m_nFirst;
double?m_nSecond;
virtual?double?GetResult()
{
double?dResult?=?0;
return?dResult;
}
};
//加法
class?AddOperation?:?public?COperation
{
public:
virtual?double?GetResult()
{
return?m_nFirst+m_nSecond;
}
};
//減法
class?SubOperation?:?public?COperation
{
public:
virtual?double?GetResult()
{
return?m_nFirst-m_nSecond;
}
};
//乘法
class?MulOperation?:?public?COperation
{
public:
virtual?double?GetResult()
{
return?m_nFirst*m_nSecond;
}
};
//除法
class?DivOperation?:?public?COperation
{
public:
virtual?double?GetResult()
{
return?m_nFirst?/?m_nSecond;
}
};
//工廠類
class?CCalculatorFactory
{
public:
static?COperation*?Create(char?cOperator);
};
COperation*?CCalculatorFactory::Create(char?cOperator)
{
COperation?*oper;
switch?(cOperator)
{
case?‘+‘:
oper=new?AddOperation();
break;
case?‘-‘:
oper=new?SubOperation();
break;
case?‘*‘:
oper=new?MulOperation();
break;
case?‘/‘:
oper=new?DivOperation();
break;
default:
oper=new?AddOperation();
break;
}
return?oper;
}
int?_tmain(int?argc?_TCHAR*?argv[])
{
float?ab;
char?c;
cout<<“請輸入數字A并回車“< cin>>a;
cout<<“請輸入運算符號(+、-、*、/)并回車“< cin>>c;
while?(c?!=?‘+‘?&&?c?!=?‘-‘&&?c?!=?‘*‘&&?c?!=?‘/‘)
{
cout<<“輸入不正確!“< cout<<“請輸入運算符號(+、-、*、/)并回車“< cin>>c;
}
cout<<“請輸入數字B并回車“< cin>>b;
while?(c?==?‘/‘?&&?b?==?0)
{
cout<<“輸入不正確!除數不能為0!“< cout<<“請輸入數字B并回車“< cin>>b;
}
cout< COperation?*?op=CCalculatorFactory::Create(c);
op->m_nFirst=a;
op->m_nSecond=b;
cout<GetResult()< system(“pause“);?
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1973??2011-12-04?16:29??Calculator\Calculator.cpp
?????文件??????19456??2011-12-04?16:30??Calculator\Calculator.ncb
?????文件????????909??2011-12-04?15:43??Calculator\Calculator.sln
????..A..H.??????8704??2011-12-04?16:30??Calculator\Calculator.suo
?????文件???????3844??2011-12-04?15:43??Calculator\Calculator.vcproj
?????文件???????2379??2011-12-04?16:29??Calculator\Debug\BuildLog.htm
?????文件?????299008??2011-12-04?16:29??Calculator\Debug\Calculator.exe
?????文件?????898672??2011-12-04?16:29??Calculator\Debug\Calculator.ilk
?????文件?????310800??2011-12-04?16:29??Calculator\Debug\Calculator.obj
?????文件????2949120??2011-12-04?16:21??Calculator\Debug\Calculator.pch
?????文件????1264640??2011-12-04?16:29??Calculator\Debug\Calculator.pdb
?????文件??????15423??2011-12-04?16:21??Calculator\Debug\stdafx.obj
?????文件?????175104??2011-12-04?16:29??Calculator\Debug\vc70.idb
?????文件?????159744??2011-12-04?16:29??Calculator\Debug\vc70.pdb
?????文件???????1009??2011-12-04?15:43??Calculator\ReadMe.txt
?????文件????????214??2011-12-04?15:43??Calculator\stdafx.cpp
?????文件????????195??2011-12-04?15:43??Calculator\stdafx.h
?????目錄??????????0??2011-12-04?16:32??Calculator\Debug
?????目錄??????????0??2011-12-04?16:32??Calculator
-----------?---------??----------?-----??----
??????????????6111194????????????????????19
評論
共有 條評論