Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

11

16.05.2009, 16:21

Und wie würde es funktionieren, wenn man als Variablen nicht nur einen Zeiger auf die andere Klasse hat, sondern wirklich direkt diese Klasse?

12

16.05.2009, 16:29

Naja, 2 Klassen die sich gegenseitig jeweils als objekt haben sind ja schon unsinnig, weil dann das Objekt selbst rekursiv und damit quasi unendlich groß wäre.
Die Klasse, die eine andere als Member hat, inkludiert sie, die anderen nutzen einfach eine forwarddeclaration.
Lieber dumm fragen, als dumm bleiben!

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

13

19.05.2009, 13:33

Zitat von »"Toa"«

Du kannst eine globale Header-datei für all deine Libs und Header anlegen.

Dort includest du alles was du brauchst, wie z.b Engine Header what ever.
Anschließend musst du nur noch diese globale Header einbinden und hast alles was du brauchst...


igitt. Pfui, Toa, pfuipfui.

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

14

19.05.2009, 14:39

Was ist daran denn so "pfui"?

15

19.05.2009, 16:02

alle Dateien sind von allen abhängig, und du musst eigentlich noch mehr wie normal aufpassen, das du keine include-schliefen hast und alle Abhängigkeiten der Klassen auch tatsächlich erfüllt sind.

16

19.05.2009, 17:44

Außerdem musst du das komplette Projekt neu kompilieren, sobald sich ein Header ein wenig ändert. Extrem schlecht. Ich habe das schon als sehr störend empfunden, als ich eine Template klasse hatte, dank der jedesmal fast das gesamte Projekt neu kompiliert werden musste.
Lieber dumm fragen, als dumm bleiben!

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

17

19.05.2009, 18:29

Und was wären die Alternativen?
Bin bisher mit einer großen Include Datei immer ganz gut zurecht gekommen.

18

19.05.2009, 19:18

Zitat von »"MCP"«

Und was wären die Alternativen?

Nur das includieren, was man wirklich braucht, und überall wo es möglich ist, erstmal nur forward declarations benutzen und in der cpp dann inkludieren.
Lieber dumm fragen, als dumm bleiben!

19

19.05.2009, 21:42

Zitat von »"MCP"«

Bin bisher mit einer großen Include Datei immer ganz gut zurecht gekommen.
Das geht gut, solange die Projekte klein und Kompilierzeiten kurz sind. In der Tat ist so ein globaler Header ("global" deutet schon darauf hin) wie erwähnt die reinste Hölle von Abhängigkeiten. Es ist absolut kontraproduktiv, alles überall zu inkludieren. So verliert man schnell die Kontrolle darüber, was wo gebraucht wird, worunter auch das Design leidet. Der Kompilierzeit-Aspekt wurde auch schon gesprochen.

Der einzige Grund, wieso so etwas überhaupt praktiziert wird, ist Faulheit des Programmierers.

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

20

19.05.2009, 23:12

Faul bin ich definitiv ^^
Nagut, aber ich sehe es ein. Als Programmierer sollte ich ja wissen welche Klasse von welchen anderen Klassen abhängig ist.
Werde ich bei meinen Projekten auf die "to do" Liste setzen. :D

Werbeanzeige