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

killmichnich

unregistriert

1

18.05.2009, 20:01

struct

Ein kleines Problem:
Ich habe eine struct:

C-/C++-Quelltext

1
struct Struct{char* NAME; int iwas; int nochwas;};

wenn ich die so initialisiere

C-/C++-Quelltext

1
Struct eins = {"hans", 1, 2};

funktioniert alles wunderbar.
wenn ichs aber so versuch

C-/C++-Quelltext

1
2
Struct eins;
eins = {"hans", 1, 2};

krieg ich nen error, dass die klammer { da nich hingehört. Ich weiß ich kann das auch alles einzeln setzen, aber gibts da auch ne Möglichkeit das so wie bei dem zweiten zu machen nur ohne error? oO

MfG Killmichnich

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

18.05.2009, 20:17

C-/C++-Quelltext

1
2
3
Struct a;
Struct b = {"Hans", 1, 2};
a = b; // das geht

killmichnich

unregistriert

3

18.05.2009, 20:23

aber so wie ichs machen will gehts nich? oO

4

18.05.2009, 20:26

Zitat von »"killmichnich"«

aber so wie ichs machen will gehts nich? oO
Nein. Die Aggregats-Initialisierungsliste kann eben nur zur Initialisierung verwendet werden.

Falls du C++ programmierst, kannst du Konstruktoren einsetzen.

C-/C++-Quelltext

1
2
3
Struct eins("Hans", 1, 2);
Struct zwei;
zwei = Struct("Hans", 1, 2);

5

18.05.2009, 20:29

Kriegste mit der Syntax wahrscheinlich fette Probleme...
fka tm

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

6

18.05.2009, 20:39

Zitat von »"TrikkieMikkie"«

Kriegste mit der Syntax wahrscheinlich fette Probleme...

Wenn man den Konstruktor richtig immplementiert ? ich seh da kein Problem...

7

18.05.2009, 20:45

Case Sensitivity rocks..-
fka tm

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

8

19.05.2009, 17:35

C-/C++-Quelltext

1
2
3
4
Struct a;
a.NAME = "Blubb";
a.iwas = 5;
a.nochwas = 10;

ist denke ich am natürlichsten :D
und wie implementiert man denn einen konstruktor für ein struct?

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

9

19.05.2009, 17:40

In C++ sind "struct" und "class" das selbe mit dem kleinen Unterschied dass
"class" standartmäßig "privat" gestellt ist und "struct" "public".... das wars...

das bedeutet, du kannst structs auch erben lassen...oder selbst von ihnen erben ( macht manches einfacher ;) )

MCP

Alter Hase

Beiträge: 513

Wohnort: Paderborn

Beruf: Software-Entwickler

  • Private Nachricht senden

10

19.05.2009, 18:21

Was er damit sagen will ist, du kannst in C++ dem struct genau wie einer Klasse einen Konstruktor, Destruktor und andere Methoden zuweisen. Und so ein Konstruktor ist ziemlich genau das was du suchst. ;)

Werbeanzeige