Sobrecarga de operadores

Arot
13 de Febrero del 2004
¿Como puedo devolver un puntero en una función donde sobrecargo el operador +?
¿Donde tengo el error? Es que esto ni compila

Gracias!!

**********************************************
#include <iostream.h>

class Cadena{
private:
string cad;

public:
Cadena(string c){
cad=c;
}
void setCad(string c){
cad=c;
}
string getCad()
{
return cad;
}
}

Cadena * operator + (Cadena *a, Cadena *b){
string total;
total=a->getCad()+ b->getCad();
return new Cadena(total);
}

int main() {
Cadena *a=new Cadena("Hola ");
Cadena *b=new Cadena(" a todos");
Cadena *c=a+b;
cout << c->getCad();
delete a;
delete b;
delete c;
getchar();
}

chuidiang
13 de Febrero del 2004
Supongo que string no te da problemas y en tu compilador existe. De todas formas, no se si iostream.h tiene dentro string. Si te protesta al compilar por el string, te faltará algún include

Aparte de esto, en la llave que cierra el class debes poner un punto y coma

class Cadena {
...
};

Cadena * operator + ...


Se bueno.