Hello again ^^.
Ich habe eine Frage...undzwar habe ich mir eine Klasse LOGFILE geschrieben, die mit C-Dateioperationen eine Textdatei anlegt, und die gewünschten Log-Einträge in diese Datei schreibt.
Nun habe ich mir dazu eine Funktion :
geschrieben, um in das LogBuch zu schreiben. Nun wollte ich es allerdings komfortabler für den Programmierer gestalten, und einfach den '<<' Ausgabeoperator überladen.
Nur leider habe ich mit Operatorüberladung nicht wirklich große Erfahrungen, und so sind alle Versuche dies zu verwirklichen bisher gescheitert.
- Als friend-Funktion hat es nicht geklappt,
- Als Memberfunktion mit '*this' als Rückgabewert wird der entsprechende Text zwar in Das Logbuch geschrieben, danach wird allerdings anscheinend der Destruktor des Objektes aufgerufen und das Logbuch damit geschlossen, sodass keine weiteren Schreiboperationen mehr möglich sind.
- Auch alle anderen verzeifelten Versuche wie z.B. die Funktion als void zu deklarieren, oder sonstiges waren bisher nicht von Erfolg gekrönt - kann mir dabei irgendjemand weiterhelfen?
LG, schönen abend
Ich habe eine Frage...undzwar habe ich mir eine Klasse LOGFILE geschrieben, die mit C-Dateioperationen eine Textdatei anlegt, und die gewünschten Log-Einträge in diese Datei schreibt.
Nun habe ich mir dazu eine Funktion :
Code:
void LOGFILE::Write(const char* string)
{
sprintf(String,"%3d : ",Count);
strcat(String,string);
strcat(String,";\n");
fputs(String,File);
++Count;
}
geschrieben, um in das LogBuch zu schreiben. Nun wollte ich es allerdings komfortabler für den Programmierer gestalten, und einfach den '<<' Ausgabeoperator überladen.
Nur leider habe ich mit Operatorüberladung nicht wirklich große Erfahrungen, und so sind alle Versuche dies zu verwirklichen bisher gescheitert.
- Als friend-Funktion hat es nicht geklappt,
- Als Memberfunktion mit '*this' als Rückgabewert wird der entsprechende Text zwar in Das Logbuch geschrieben, danach wird allerdings anscheinend der Destruktor des Objektes aufgerufen und das Logbuch damit geschlossen, sodass keine weiteren Schreiboperationen mehr möglich sind.
- Auch alle anderen verzeifelten Versuche wie z.B. die Funktion als void zu deklarieren, oder sonstiges waren bisher nicht von Erfolg gekrönt - kann mir dabei irgendjemand weiterhelfen?
LG, schönen abend
