Char to Operator C++

27,137

Solution 1

SImple way is to use a switch statement

switch (op)
{
case '+':
  res = x + y;
  break;
case '-':
  res = x - y;
  break;
case '*':
  res = x * y;
  break;
}

Solution 2

I don't think there's a way as you've written it there but you could do something hacky like

int do_op(char op, int a, int b)
{
    switch(op)
    {
    case '+':
       return a+b;
    break;
    case '-':
       return a-b;
    break;
    case '*':
       return a*b;
    break;
    case '/':
       return a/b;
    break;
    default:
        throw std::runtime_error("unknown op")
    }
 }
Share:
27,137
wzsun
Author by

wzsun

I hope you step on a Lego

Updated on July 23, 2022

Comments

  • wzsun
    wzsun over 1 year

    Hey I wanted to know how you could turn a character '+' into an operator. For example if I had

    char op = '+'
    cout << 6 op 1;
    

    Thanks.