potencia(x, y) = x, si y = 1
                x * potencia(x, y - 1), si y > 1
/* 
Ejercicio 21 
Escriba una función recursiva que calcule un número elevado a una potencia entera mayor o igual que cero: x^y. 

potencia(x, y) = x, y = 1
                x * potencia(x, y -1), y > 1
*/

#include<iostream>
#include<stdlib.h>

using namespace std;

// Prototipo de función
int potencia(int, int);

int main() {
    int base, exponente;

    // Pedir datos al usuario
    cout << "Digite la base: "; 
    cin >> base; 
    cout << "Digite el exponente: "; 
    cin >> exponente;

    cout << "\nPotencia de " << base << " elevado a " << exponente << " es: " << potencia(base, exponente) << endl;

    system("pause");
    return 0;
}

int potencia(int x, int y) {
    int pot;

    if (y == 1) { // Caso base
        pot = x;
    } else { // Caso general
        pot = x * potencia(x, y - 1);
    }

    return pot;
}

Resultado de Ejecución:

Digite la base: -9
Digite el exponente: 4
Potencia de -9 elevado a 4 es: 6561
Presione una tecla para continuar . . .
--------------------------------
Process exited after 8.794 seconds with return value 0
Presione una tecla para continuar . . .