<< Überladen
-
ich hab mir das jetz mal in ruhe angesehen aber werd daraus net schlauer entweder liegt es daran das ich übermüdet bin oder ein verständnis problem meinerseits bei diesem problem
-
Dann versuchst du es halt morgen nochmals.

Du kannst auch gerne konkret fragen, wenn du etwas nicht verstehst.
-
ich komm irgendwie nicht drauf könntest du mir vll einen weiteren ansatz dafür geben?
wäre nett von dier
-
aktuell hab ich
template<class T> LogData& operator<<(const T& Write) { std::cout<<Write; return *this; }als basis wie müsste ich das templat und die funktion für das std::endl spezalisieren wäre für jeden kleienen weiteren ansaz dankbar
-
Eben nicht als Template, sondern als überladene Funktion.
Schau dir mal Funktionszeiger an. Dann kannst du den Funktionszeiger mit der Signatur von
std::endl;als Parametertyp von deinemoperator<<verwenden.
-
dann müsste meine funktion so in der art aussehen
LogData& operator<<(const SIGNATUR* endl())
{
std::cout<<std::endl;
return *this;
}
hab ich das richtig verstanden welche signatur muss ich nehemen?
-
Sorry, ich glaube, ich hab dich falsch verstanden.
Geht es dir nur darum, alle Eingaben an
std::coutweiterzuleiten? Dann ist ein Template das einfachste.template <typename T> std::ostream& operator<< (T& Object) { return std::cout << Object; }
-
nicht wirklich ich hab eine klasse die als singletone implementiert ist (ist aber nur nebensache)
diese klasse kann bisher dashier entgegen nehmen
LogData::getInstanz()<<Hallo<<" wie gehts"<<" was machst du ";
nun soll noch die implementierung von std::endl erfolgen das dies auch möglich ist
LogData::getInstanz()<<Hallo<<" wie gehts"<<" was machst du "<<std::endl,
implementierung des bisherigen << operator steht weiter oben
-
Okay, dann wäre es wohl doch eher meine erste Version.

Ich geb dir jetzt mal den Code für die Deklaration, aber ich empfehle dir, ihn zu verstehen versuchen. Über Funktionszeiger findest du hier eine gute Seite.
LogData& operator<< (std::ostream& (*Object)(std::ostream&));
-
verstehen tu ich ihn ^^
mir war nur nicht der rückgabe wert so wie der parameter des funktionszeigers bekannt aber vielen vielen danke