Seite 1 von 1
Globale Variablen
Verfasst: 24. Dezember 2008 06:38
von geograman
Hi Leute,
Ich habe ein kleines Problem und zwar habe ich in meiner main.cpp ein haufen globaler Variablen die ich gerne auch von meinen Klassen aus ansprechen würde , nur aus irgendeinem Grund geht das nicht.
Kann mir eventuell jemand erklären wieso das nicht geht und wie man es dann realisieren kann bzw ob es überhaupt geht ?
Danke

Verfasst: 24. Dezember 2008 10:03
von ptr
naja, dazu müsstes du im entsprechenden .h/.cpp file (deiner klasse) main.cpp inkludieren. da das aber nicht besonders schon ist, würde ich dir empfehlen die dekleration der globalen variablen in ein header file auszulagen (zb main.h) und dieses dann zu inkludieren. die definition der variablen kann natürlich weiterhin im main.cpp passieren.
Verfasst: 24. Dezember 2008 10:58
von solarix
naja, dazu müsstes du im entsprechenden .h/.cpp file (deiner klasse) main.cpp inkludieren. da das aber nicht besonders schon ist
das könnte man dann zwar compilen aber nicht linken... es darf nur _eine_ main-Funktion geben....
ein haufen globaler Variablen die ich gerne auch von meinen Klassen aus ansprechen würde
Das ist schlechter Stil.... Falls deine Variabeln Informationen über Programm-Argumente sind, könntest du diese in der Klasse auch via "QCoreApplication::arguments()" kriegen. Andere Daten wären in einer Singleton-Klasse (
http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuster)) besser aufgehoben, als in globalen Variabeln....
Globale Variablen
Verfasst: 24. Dezember 2008 11:58
von geograman
Hi,
danke für die Antworten , es geht bei mir eigentlich darum auf ein bereits bestehendes c++ programm ohne GUI eine GUI aufzusetzen, und ich will jetzt natürlich nicht das ganze Programm in Klassen umschreiben sondern möglichst so lassen wie es ist. Das war mein Problem aber ich werde das dann gleich mal ausprobieren , danke.
Verfasst: 24. Dezember 2008 13:16
von solarix
Das verstehe ich... ich kann's aber trotzdem nicht lassen:
Auch Konsolenprogramme können sauber in Klassen entworfen werden... OOP ist _nicht_ auf GUIs beschränkt!!
Gruss und schöne Weihnachten!
Verfasst: 24. Dezember 2008 22:48
von Superheftig
definiere globals.h
in der main.cpp
Code: Alles auswählen
#include "globals.h"
QString globalString = "";
int main() {
return 0;
}
und jeder datei in der du die globale variable brauchst einfach
globals.h includieren
Das ganze ist natürlich wie oben schon gesagt nicht gerade der saubere programmier stil
Re: Globale Variablen
Verfasst: 28. Dezember 2008 03:54
von gboelter
geograman hat geschrieben:Ich habe ein kleines Problem und zwar habe ich in meiner main.cpp ein haufen globaler Variablen die ich gerne auch von meinen Klassen aus ansprechen würde , nur aus irgendeinem Grund
geht das nicht.
Warum packst diese Variablen nicht einfach in eine QStringList und uebergibst dann die QStringList als Parameter?