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

1

13.05.2009, 15:39

Verständnis von: Zeiger/Referenzen - Klassen/Strukturen

Hallo liebe Programmier Begeisterte,

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.

Vielen Dank schonmal im Voraus.


1.


(Link)


2.

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

13.05.2009, 15:53

Re: Verständnis von: Zeigern/Refferenzen - Klassen/Strukture

1. Schaut ganz gut aus.

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.

3

13.05.2009, 16:09

WoW und schon eine Antwort. Ich bin begeistert :)

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.

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

4

13.05.2009, 16:43

Naja, aber kann man Strukturen vererben? ;)

5

13.05.2009, 16:53

Zitat von »"K-Bal"«

Naja, aber kann man Strukturen vererben? ;)

wieso nicht? es sit doch ne klasse, nur eben standardmäßig public statt private.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

13.05.2009, 17:56

Zitat von »"PCShadow"«

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...

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

7

13.05.2009, 18:32

Hätte ich jetzt ehrlich gesagt nicht gedacht :D

8

13.05.2009, 18:37

Zitat von »"K-Bal"«

Hätte ich jetzt ehrlich gesagt nicht gedacht :D


Das heißt ganz klar: Nachsitzen!
fka tm

9

13.05.2009, 19:25

Wow, hab auch nicht gewusst das Strukturen vererbbar sind. Hat da jmd ein Codebeispiel dazu wie das aussieht? Funktioniert das gleich wie bei Klassen?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

13.05.2009, 19:26

Zitat von »"raXor"«

Funktioniert das gleich wie bei Klassen?


ja

C-/C++-Quelltext

1
2
3
4
5
struct blub : foo           class blub : public foo
{                           {
                    ==      public:
  int x;                      int x;
};                          };

Werbeanzeige