Hola, estoy estudiando c++ y me dicen el siguiente enunciado:
Cita: Crea una clase Potencia. Añadele una función que permita sobrecargar el operador ^ (Potencia), para que realize la exponenciación en lugar de la función pow, vista en capitulos anteriores. Así en lugas de la funcion pow(x,y), la podrás llamar por medio de x^y. Prueba , mediante una expresión, que el operador ^funciona.
Mi problema viene con que no puedo usarlo con ints, creo que la logica diria que si quiero usar ese operador sea con ints, no con new Potencias no?
Código:
#include <iostream>
using namespace std;
class Potencia{
private:
int numero;
public:
Potencia(int num);
Potencia operator ^ (int num);
};
Potencia :: Potencia(int num){
numero = num;
}
int Potencia :: operator ^ (int num){
int final=0;
for(int i=1;i<num;i++){
final+=numero;
}
return final;
}
int main (){
Potencia Potencia1(5);
int numerito= Potencia1 ^ 5;
cout << "El resultado de la potencia es " << numerito << "." << endl;
system("Pause");
return 0;
}
Me da error;:
Cita: 21 C:\Users\cybersersupremo\Desktop\c++\capitulo10\1. cpp prototype for `int Potencia::operator^(int)' does not match any in class `Potencia'
alguien puede hecharme una mano?