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!
Seit einiger Zeit hat mich der Gedanke gepackt programmieren zu lernen. Nach einiger Recherche, habe ich mich dann für C++ entschieden
Seit ca. einer Woche studiere ich das Buch "C++ für Spieleprogrammierer" und habe jetzt ein paar Fragen zum Verständnis und der richtigen Umsetzung von:
1. Wertübergabe / -änderung: als Zeiger, Referenz, und Wert
2. Wertübergabe / -änderung bei Klassen
3. Unterschied von Struktur und Klasse
Mit Sicherheit gibt es viele verschiedene Lösungen wie es halt beim programmieren so ist. Bitte vergesst auch nicht das ich gerade erst angefangen habe mit dem Programmieren.
Bevor Ihr also noch mehr verschiedene Möglichkeiten postet, die mich verwirren könnten , möchte ich erstmal nur wissen ob ich die unten aufgeführten Möglichkeiten so verwenden kann / soll.
Werte einer Instanz einer Klasse (private), ändert man über eine member Funktion (public).
Diese prüft die neuen Werte und ändert sie dann oder nicht. (If / else).
3.
a) Kann man in Strukturen, wie in einer Klasse: Konstuktoren, Destruktor und member Funktionen, sowie die Befehle: private und public benutzen?
(beim Antworten suchen im Inet habe ich nämlich herausgefunden dass Funktionen wohl möglich sind)
b) Kann ich Instanzen einer Struktur auch auf den Heap legen?
c) Wo ist denn dann noch der Unterschied zwischen den beiden, und wann erstelle ich eine Struktur / Klasse?
__________________
Ich hoffe ich konnte das einiger Maßen verständlich rüberbringen was ich meine.
2. So sollte es laufen. Pflicht ist es nicht, aber sinnvoll schon.
3.
a) Ja
b) Ja
c) Der Unterschied: Bei Strukturen sind alle Member standardmäßig public, bei Klassen private, ansonsten sind sie gleichwertig. Strukturen werden meist als Ansammlung mehrerer Variablen benutzt, während Klassen größere Konstrukte mit Memberfunktionen sind.
Also bevor ich der Meinung bin einer Struktur Funktionen zuzuweisen, entschiede ich mich besser für eine Klasse?
Ist das jetzt nur eine Stilfrage? Denn wenn ich die Wörter private und public in einer Struktur verwenden darf und die Struktur auch auf den Heap legen kann, dann fallen ja Argumente wie: Speicher, performance und sicherheit vor Änderungen durch fremde Funktionen aus.
wieso nicht? es sit doch ne klasse, nur eben standardmäßig public statt private.
Jo, struct und class sind komplett gleichwertig (das eine kann vollständig durch das andre ausgedrückt werden). Einziger Unterschied liegt im default member access und darin dass class per default private erbt und struct per default public...