说的是简单的二元数学运算的问题:加减乘除等。
书里是用非C++语言描述的,不过我还是喜欢C++多一点,下面改成了C++版。
操作基类:
class Operation:
{
public:
Operation(): m_numA (0), m_numB(0){}
virtual double GetResult(){return 0;}
void setOperationNum( double numA,double numB )
{
m_numA = numA;
m_numB = numB;
}
private:
double m_numA;
double m_numB;
};
加法类:
class OperationAdd: public Operation
{
public:
virtual double GetResult()
{
return m_numA + m_numB;
}
}
类似实现 减法类 OperationSub 乘法类 OperationMul 等
再实现运算工厂类:
class OperationFactory:
{
public:
Operation * createOperate( const string& operate )
{
Operation* oper;
switch(operate )
{
case "+": oper = new OperationAdd();break;
case "-": oper = new OperationSub();break;
... ...
}
}
}
实际应用:
Operation*oper;
OperationFactory factory;
oper = factory.createOperate("+");
oper->setOperationNum(2,3);
double result = oper->GetResult();
delete oper;
本文详细介绍了如何使用C++实现基本的二元数学运算(加、减、乘、除),通过定义操作基类和具体运算类,以及运算工厂类来完成不同运算的选择和执行。
1224

被折叠的 条评论
为什么被折叠?



