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 ?
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.
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....
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.
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!!
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?
Guenther
Davao City, Philippines, Planet Earth, 28°C
Qt 4.8.1 for Linux/X11 - Open Source Edition for Application Development