001
15.12.2013, 23:05 Uhr
Hans
Library Walker (Operator)
|
Hi,
ehrlich gesagt klingt das alles ein wenig Anfängerhaft, was Du hier fragst, aber egal. Also: GUI von der Rechensoftware zu trennen ist immer eine gute Idee. Die Frage ist, was soll man unter dem "eigentlichen Programm" verstehen? - Im Fall Deiner Strömungssimulation würde ich sagen, sind die Teile, die die Berechnungen beinhalten das "eigentliche Pogramm", evtl. auch noch jene, die für Daten Ein- und Ausgabe in Dateien zuständig sind. Der Rest wird Systembahängig, sofern Du das GUI nicht mit Qt oder GTK+ oder ähnlichem realisierst.
Wann man vererbt oder nicht, sollte sich spätestens beim entwickeln heraus stellen, bzw. sollte in einem guten Lehrbuch über OOP drin stehen, wann und wie das Konzept sinnvoll eingesetzt wird. Pauschal kann man (bzw. ich) das nicht sagen.
Wenn Du modular entwickelst ist es sinnvoll, sich Gedanken über die aufteilung der Module zu machen. Alles was in ein Modul ausgelagert wird, bekommt auch eine eigene Headerdatei. Prototypen sind dann sinnvoll, wenn das ganze Programm in einer Datei passt, um die main()-Funktion soweit wie möglich an den Anfang des Quelltextes zu setzen und jeglichen Code für aufgerufene Funktionen dahinter. Das ist aber auch 'ne Geschmacksfrage. Ich gehöre da zu jenen, die diese Variante vorziehen. Es gibt aber auch genug Leute, die die main-funktion ans Ende des Quelltextes setzen, und alles was an Unterfunktionen aus main heraus aufgerufen wird, davor.
Zitat: |
Wann erstelle ich die Variable auf dem Heap und wann auf dem Stack (Vor und Nachteile); was genau ist ein Array, was ist ein std:vector<> und wann auf dem Heap und wann auf dem stack erstellen. Warum kann ich z. B einen vector<> zur Laufzeit vergrößern, obwohl er nicht explizit mit "new" auf dem Heap erstellt wurde.
|
Das sind Anfängerfragen, die in guten C++ Lehrbüchern erklärt werden; z.B. bei Ulrich Breymann.
Alles in allem fallen die Fragen in die Kategorie Softwaretechnik. Also heisst das Stichwort genau so. Sehr verbreitet zu dem Thema ist das gleichnamige Buch von Helmut Balzert, das ich allerdings nicht gelesen habe.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. |