Fábrica de funções

Crie uma função que receba um inteiro base e retorne uma nova função. A função retornada recebe outro inteiro e retorna a soma desse valor com a base capturada.

Exemplos

auto plusFive = makePlusFunction(5);
plusFive(2) ➞ 7
plusFive(-8) ➞ -3

auto plusTen = makePlusFunction(10);
plusTen(0) ➞ 10
plusTen(188) ➞ 198
plusFive(plusTen(0)) ➞ 15

Observações

  • Cada função retornada deve manter o valor base da chamada à função que a criou.
  • Os valores de entrada são escolhidos de modo que cada soma caiba no tipo C++ int.