Fábrica de funciones

Crea una función que reciba un entero base y devuelva una nueva función. La función devuelta recibe otro entero y devuelve la suma de ese valor y la base capturada.

Ejemplos

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

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

Notas

  • Cada función devuelta debe conservar el valor base de la llamada a la función que la creó.
  • Los valores de entrada se eligen de modo que cada suma quepa en el tipo C++ int.