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

85byte

Frischling

  • »85byte« ist der Autor dieses Themas

Beiträge: 10

Wohnort: Göttingen

Beruf: Student - Wirtschaftsingenieurwesen

  • Private Nachricht senden

1

12.11.2007, 12:45

Allg.: Struct direkt Definieren und Initialisieren

Hallo Leute, ich habe eine Frage zu folgendem Codeausschnitt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
struct S_Box
{
    bool function;
    int Size;

    S_Box()
    {
        function = false;
        int Size = 20;
    };
};


Es ist also Möglich direkt in der Definition einer Struktur eine Initialisierung vorzunehmen?! Jeder Ableger der Struktur hat also nun die bereits vordefinierten Werte?! Richtig? Muss man irgendetwas besonderes beachten bei dieser Technik?

Danke
visit: http://85byte.florianappl.com

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

12.11.2007, 13:10

Das ist doch ganz genau das Selbe wie bei class! Du hast einen Konstruktor in dem du deinen Membervariablen Standardwerte zuweisen kannst. Ruft eine Spezialisierung den Konstruktor auf, hat auch diese die zugewiesenen Werte...

Warum kapieren eigentlich so wenige das bei C++, struct und class genau Gleichbedeutend sind. Bis auf einen Unterschied: Bei Strukturen ist die Standardzugriffsspezifikation public bei Klassen private.
@D13_Dreinig

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

12.11.2007, 13:11

Re: Allg.: Struct direkt Definieren und Initialisieren

Zitat

Es ist also Möglich direkt in der Definition einer Struktur eine Initialisierung vorzunehmen?! Jeder Ableger der Struktur hat also nun die bereits vordefinierten Werte?! Richtig?


richtig. das ganze nennt sich konstruktor. beschäftig dich evtl. etwas genauer damit ;)

etwas "schöner" wärs so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
struct S_Box
{
    bool function;
    int Size;

    S_Box() : function(false), Size(20) {}

};

85byte

Frischling

  • »85byte« ist der Autor dieses Themas

Beiträge: 10

Wohnort: Göttingen

Beruf: Student - Wirtschaftsingenieurwesen

  • Private Nachricht senden

4

12.11.2007, 13:52

Zitat von »"David_pb"«


Warum kapieren eigentlich so wenige das bei C++, struct und class genau Gleichbedeutend sind. Bis auf einen Unterschied: Bei Strukturen ist die Standardzugriffsspezifikation public bei Klassen private.


Danke für den Hinweiß... aber das hatte ich so direkt noch nicht gehört!
visit: http://85byte.florianappl.com

$nooc

Alter Hase

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

5

12.11.2007, 13:58

oho.. das wusst ich auch noch nicht.. :)
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

12.11.2007, 14:06

Zitat von »"85byte"«

Danke für den Hinweiß... aber das hatte ich so direkt noch nicht gehört!


Zitat von »"$nooc"«

oho.. das wusst ich auch noch nicht..


Eben, sag ich ja! Aber wenigstens gibt es nun mindestens zwei Mitwisser mehr! :)
@D13_Dreinig

Werbeanzeige