Seite 1 von 1

Qtextstream nach stdout setzen fuer ganze klasse

Verfasst: 22. Januar 2007 14:00
von tuner
Hy,

ich moechte ein

Code: Alles auswählen

QTextStream ausgabe(stdout);
fuer eine ganze Klasse setzen,
so dass ich egal in welcher MemberFkt gerade bin ein

Code: Alles auswählen

ausgabe << "Hallo Konsole!"
durchfuehren kann.

kriegs aber irgendwie nicht gebacken.
Wie macht man das (ein bisschen code waere auch nett..)

Gruss, Toni.

Re: Qtextstream nach stdout setzen fuer ganze klasse

Verfasst: 22. Januar 2007 14:18
von macman
tuner hat geschrieben:kriegs aber irgendwie nicht gebacken.
Wie hast Du es denn versucht?

Deklaration im Header
Definition im Konstruktor
Eliminierung im Destruktor

Schöner wäre aber eine eigene Funktion 'writeStdOut(QString)' oder so was.

Verfasst: 22. Januar 2007 14:38
von tuner
Das Problem, dass ich nicht weiss, wie ich das im Konstruktor definieren kann.


gruss.

Verfasst: 22. Januar 2007 15:16
von tuner
Was ich Probiert habe ist:

Code: Alles auswählen

xx.h:
QTextStream ausgabe;

xx.cpp:
xx::xx()
{
   QTextStream ausgabe(stdout);
}

Verfasst: 22. Januar 2007 15:34
von Christian81
Sorry, aber Du bist der zweite heute... lernt bitte C++

Verfasst: 22. Januar 2007 16:17
von tuner
aehm,

tut mir leid, dass du's kannst.
aber wenn du keine lust hast fragen zu beantworten dann machs doch einfach nicht;-)

also,
an andere, die vlt. helfen wollen:
ich hab so etwas noch nie definiert. wie geht das.
es gibt ja die klasse QTextStream, mit Operator <<
wie kann ich in meiner Klasse einen Stream definieren, so dass von jeder Funktion aus.

ausgabe << "lalala";

funktioniert, ohne dass man es am anfang jeder Funktion deklarieren muss.

gruss, Toni.

Verfasst: 22. Januar 2007 16:27
von Christian81
Das hier ist ein Qt-Forum und kein C++ Forum - hier geht es um Probleme mit Qt und nicht um (sorry) simple C++ Anfängerprobleme.

Wenn Du eine Variable in deiner Klasse benutzen möchtest, solltest Du sie auch in der Klasse definieren:

Code: Alles auswählen

class xx {
... 
  protexted:
   QTextStream ausgabe;
  ...
}
Eine Initialiserung der Variablen geschieht normalerweise im Konstruktor der Klasse:

Code: Alles auswählen

cc::cc()
 : ausgabe(stdout)
{
 ...
}

Verfasst: 22. Januar 2007 20:03
von tuner
Thx.