Sobrecarga de operadores
Hola:
Me han dado un ejercicio para realizar donde tengo que sobrecargar los operadores cin (>>) y cout (<<) de C++ para que me permitan leer con el cout y escribir con el cin directamente desde un fichero. Mi clase principal es esta:
class Nodo {
public:
int i, p, z;
Nodo(int ii, int pp, int zz) { i = ii; p = pp; z = zz; }
};
class CCodificador{
private:
AnsiString cadena, cadena_codificada;
int comparar(int i, int j);
public:
CCodificador();
void setCadena(AnsiString cad);
void ComprimeCad();
void Decodificar(AnsiString cad);
AnsiString getCadena();
AnsiString getCadenaComprimida();
ofstream &operator << (ofstream &out){
out << cadena.c_str()<<endl;
out << cadena_codificada.c_str();
return out;
}
ifstream &operator >>(ifstream &in){
in >> cadena_codificada.c_str();
in >> cadena.c_str();
return in;
}
};
entonces cuando llamo al metodo para entra datos al fichero lo hago de esta forma:
ifstream fichero;
fichero.open("result.txt", ios_base::out );
if(fichero)
Caption = "TRUE";
Cod >> fichero;
pero no me crea el fichero y por consiguiente no introduce nada.
Me ayudan. ??
Salu2
Me han dado un ejercicio para realizar donde tengo que sobrecargar los operadores cin (>>) y cout (<<) de C++ para que me permitan leer con el cout y escribir con el cin directamente desde un fichero. Mi clase principal es esta:
class Nodo {
public:
int i, p, z;
Nodo(int ii, int pp, int zz) { i = ii; p = pp; z = zz; }
};
class CCodificador{
private:
AnsiString cadena, cadena_codificada;
int comparar(int i, int j);
public:
CCodificador();
void setCadena(AnsiString cad);
void ComprimeCad();
void Decodificar(AnsiString cad);
AnsiString getCadena();
AnsiString getCadenaComprimida();
ofstream &operator << (ofstream &out){
out << cadena.c_str()<<endl;
out << cadena_codificada.c_str();
return out;
}
ifstream &operator >>(ifstream &in){
in >> cadena_codificada.c_str();
in >> cadena.c_str();
return in;
}
};
entonces cuando llamo al metodo para entra datos al fichero lo hago de esta forma:
ifstream fichero;
fichero.open("result.txt", ios_base::out );
if(fichero)
Caption = "TRUE";
Cod >> fichero;
pero no me crea el fichero y por consiguiente no introduce nada.
Me ayudan. ??
Salu2
