两种方法使用枚举实现四则运算
时间: 2024-05-01 10:19:25 浏览: 72
C++实现 vector 的四则运算
5星 · 资源好评率100%
两种方法使用枚举实现四则运算的方式如下:
方法一:
使用枚举定义四则运算符号,然后使用 switch/case 语句根据运算符号执行相应的计算操作。
例如:
```
enum OperatorType {
ADD, // 加法
SUB, // 减法
MUL, // 乘法
DIV // 除法
};
int calculate(int x, int y, OperatorType op) {
switch (op) {
case ADD:
return x + y;
case SUB:
return x - y;
case MUL:
return x * y;
case DIV:
return x / y;
default:
// 抛出异常或返回错误码
break;
}
}
```
方法二:
使用函数指针数组来实现四则运算,每个数组元素指向计算对应运算符号的函数。
例如:
```
int add(int x, int y) {
return x + y;
}
int sub(int x, int y) {
return x - y;
}
int mul(int x, int y) {
return x * y;
}
int div(int x, int y) {
return x / y;
}
typedef int (*CalcFunc)(int, int);
CalcFunc calcFuncs[] = { add, sub, mul, div };
int calculate(int x, int y, int opIndex) {
if (opIndex >= 0 && opIndex < sizeof(calcFuncs) / sizeof(CalcFunc)) {
return calcFuncs[opIndex](x, y);
}
else {
// 抛出异常或返回错误码
}
}
```
以上两种方法都适用于实现简单的四则运算,但对于复杂运算或需要处理错误情况的场景,需要根据实际需求加以优化或改进。
阅读全文