1444394

练习14.44:

编写一个简单的桌面计算器使其能处理二元运算

【出题思路】

本题练习使用函数对象。

【解答】

#include <iostream>
#include <map>
#include <algorithm>
#include <functional>
using namespace std;
map<string,  function<int(int, int)>> binOps = {
    { "+" , plus<int> () },
    {"-", minus<int> () },
    { "*" , multiplies<int>() },
    { "/", divides<int>()},
    { "%", modulus<int>()}
};
int main()
{
    int a, b;
    string op;
    cin >> a >> op >> b;
    cout << binOps[op](a, b) << endl;
    return 0;
}

本页共30段,1028个字符,1148 Byte(字节)