已知双目逻辑运算有“与”运算and 和“或”运算or,设计超级函数,可以实现任意的双目逻辑运算(提示:函数指针实现)
时间: 2023-12-14 10:36:21 浏览: 69
可以设计一个函数指针类型 `logic_func`,表示双目逻辑运算函数的指针类型,并定义两个函数 `and_func` 和 `or_func` 分别实现“与”和“或”运算。接着,设计 `super_func` 超级函数,通过传入两个逻辑值和一个函数指针参数,实现任意的双目逻辑运算。具体实现如下:
```c++
#include <iostream>
typedef bool (*logic_func)(bool, bool);
bool and_func(bool a, bool b) {
return a && b;
}
bool or_func(bool a, bool b) {
return a || b;
}
bool super_func(bool a, bool b, logic_func func) {
return func(a, b);
}
int main() {
bool a = true, b = false;
std::cout << super_func(a, b, and_func) << std::endl; // 输出 0
std::cout << super_func(a, b, or_func) << std::endl; // 输出 1
return 0;
}
```
在 `main` 函数中,分别传入逻辑值和函数指针参数,调用 `super_func` 函数实现不同的双目逻辑运算。
阅读全文