Cita:
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?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.
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:
alguien puede hecharme una mano? 21 C:\Users\cybersersupremo\Desktop\c++\capitulo10\1. cpp prototype for `int Potencia::operator^(int)' does not match any in class `Potencia'