potete aiutarmi a capire questo?
codice:
#include <iostream>
#include <fstream>
using namespace std;
ofstream outf("alessio.txt");
ifstream inf("alessio.txt");
fstream fboth("alessio.txt");
class classe{
public:
int a;
int b;
classe(int s, int h){a=s; b=h; cout << "ciaof\n";}
~classe(){ cout << "\ndistruzione\n"; }
friend ofstream &operator<<(ofstream &fstream, classe obj);
} ;
void main(){
char str;
classe acqua(3,6);
if (!outf) cout << "sono molto cattivo\n";
else {
outf << "ciao prova"; cout << "stringa scritta\n";
outf << acqua;
outf.close();
}
if (!inf) cout << "errore di implicazione logica";
else { cout << "\nla stringa piu umana del mondo e la: ";
while(!inf.eof()) { inf >> str;
cout << str;
}
cout << endl;
inf.close();
}
}
ofstream &operator<<(ofstream &fstream, classe obj){
fstream << obj.a;
fstream << obj.b;
cout << "operazione svolta con successo\n";
return fstream;
}
in pratica, vorrei che mi spiegaste gentilmente il momento preciso in cui il comp si crea una copia dell'oggetto (e perchè deve farlo?) e perchè l'output mi esce ciaoprova (tutto attaccato, mentre io l'ho scritto staccato...devo usare il gets?) e perchè l'ultimo numero è ripetuto 2 volte...ci sto impazzendo!!