需求:开发一个用于四则运算的类
提供setOperator函数设置运算类型
提供setParameter函数设置运算参数
提供result函数进行运算,其返回值表示运算的合法性,通过引用参数返回结果
Operator.h
class Operator{
private:
char mOp;
double mp1;
double mp2;
public:
bool setOperator(char op);
void setParameter(double p1,double p2);
bool result(double& r);
};
Operator.cpp
#include "Operator.h"
bool Operator ::setOperator(char op){
bool ret=false;
if((op=='+')||(op=='-')||(op=='*')||(op=='/')){
ret=true;
mOp=op;
}
else{
mOp='\0';
}
return ret;
}
void Operator::setParameter(double p1,double p2){
mp1=p1;
mp2=p2;
}
bool Operator::result(double& r){
bool ret=true;
switch (mOp) {
case '/':
if(mP2==0){
ret=false;
}
else{
r=mP1/mP2;
}
break;
case '+:
r=mP1+mP2;
//TODO
break;
case '-:
r=mP1-mP2;
//TODO
break;
case '*':
r=mP1*mP2;
//TODO
break;
default:
ret=false;
//TODO
break;
}
return ret;
}
main.cpp
#include "Operator.h"
int main(){
Operator op;
double r=0;
op.setOperator('/');
op.setParameter(9,3);
if(op.result(r)){
printf("r=%lf\n",r);
}
else{
printf("Calculate error!\n");
}
return 0;
}