Re: OOP Globale Variablen und mehrer Dateien.
<r>Danke für eure zahlreichen Beiträge. <E>
</E> <br/>
<br/>
Nun läufts. <E>
??</E> <br/>
<br/>
Ich habe erst Code::Blocks gelöscht gehabt und auch diesen versteckten Ordner, den torro angegeben hat, gelöscht.<br/>
Code::Blocks neu installiert und es ging immer noch nicht.<br/>
<br/>
Dann habe ich mich damit abgefunden, dass ich wahrscheinlich zu Banane bin Code::Blocks zu bedienen und Netbeans und auch Eclipse probeweise installiert. <br/>
<br/>
Netbeans finde ich nicht so toll JohnDavidson <E>
</E> Habe aber auch nur kurz mal rein geguckt. <br/>
<br/>
Bei Eclipse finde ich die Autovervollständigung echt gut, müsste mich jedoch "jetzt" mit Makefiles auseinander setzen, weil man da für jede Kleinigkeit selber ein Makefile schreiben muss. Das soll nicht Sinn der Sache sein, weil ich nämlich SDL lernen will und dazu OOP. Da kann ich mich mit den Makefile gedöns auch noch später Rum schlagen.<br/>
<br/>
Nun fehlte mir aber Code::Blocks und ich konnte mich damit nicht abfinden dieses Problem nicht zu lösen.<br/>
<br/>
Festplatte Formatiert. Neues Ubuntu 9.10 drauf. Alles Aktualisiert. Code::Blocks drauf . Code neu geschrieben <br/>
und BAMM , er kompilierte es. <E>:-D</E> <br/>
<br/>
Ich konnte nun die Variablen in einen Header deklarieren u. initialisieren mit " const int a = 10; " und habe diese globale_vars.h Datei in die funktion.h gelegt. <br/>
Da die funktion.h sowohl in main.cpp und auch in funktion.cpp aufgerufen wird sind dort die Variablen für die Funktion und aber auch für die MainFunktion verfügbar .<br/>
<br/>
<B><s>
</s>Hier nun weitere Fragen<e></e></B> <E>
</E> <br/>
1-Der Compiler sagt mir wenn ich globale_vars.h jeweils in main.cpp und funktion.cpp inkludiere, dass <br/>
die Variablen doppelt deklariert sind. Warum aber nicht wenn ich zweimal funktion.h, jeweils in den beiden cpp dateien, mit inkludiere. ?<br/>
<br/>
2-Die Variablen der Beiden Aufrufe der funktion.h besitzen unterschiedliche Speicheradressen. Warum ?<br/>
<br/>
3-Warum wird nicht auch der Doppelaufruf von globalen_vars.h (in main.cpp und funktion.cpp) in verschiedene Speicheradressen aufgeteilt und somit das Problem der Doppeldeklaration umgangen ? <br/>
<br/>
4-warum ist es schon wieder 22 Uhr ? <E>:-D</E> <br/>
<br/>
<B><s>
</s>EDIT: <br/>
-Frage 1 hat sich erledigt. Ich hatte total vergessen, #ifndef #define und #endif zu benutzen. Nun kann man den Header, mit den Variablen drin, beliebig einsetzten.<br/>
-Frage 3 hat sich damit auch erledigt.<br/>
-Frage 2 hat sich damit auch erledigt.<br/>
Wäre nur schön, wenn man nicht doppelten Speicheraufruf hätte, aber dafür soll ja glaube ich dann diese <br/>
"Singleton Class" sein, dass man die Variablen wirklich nur an einer Speicherstelle hat.<br/>
Eigentlich soweit nun alles Klaro.<e></e></B> <E>:juhu:</E> <br/>
<br/>
<IMG src="http://img709.imageshack.us/img709/6623/bildschirmfotowk.png"><s>
</e></IMG><br/>
<br/>
<IMG src="http://img709.imageshack.us/img709/8224/bildschirmfoto1r.png"><s>
</e></IMG><br/>
Habe da "static" aus testzwecken stehen. Geht auch mit const. <br/>
<br/>
<IMG src="http://img716.imageshack.us/img716/7018/bildschirmfoto2o.png"><s>
</e></IMG><br/>
<br/>
<IMG src="http://img709.imageshack.us/img709/1558/bildschirmfoto3.png"><s>
</e></IMG></r>