Wie initialisiere ich bei Strukturen?
-
Beispiel:
struct kostenTyp
{ int menge;
float preis;
};Und nun will ich 4 verschiedene Werte für preis und menge initialisieren und mit ihnen später weiterarbeiten..wie mache ich das??
-
Hi!
Also ich schreib mir da ganz gerne nen Konstruktor. Kannst aber natürlich auch nen Objekt von der Struktur erstellen und jeden Wert dann zuweisen.
Version ohne Konstruktor:struct kostenTyp { int menge; float preis; }; int main() { kostenTyp kt; kt.menge = 10; kt.preis = 2.50f; }Version mit Konstruktor:
struct kostenTyp { int menge; float preis; kostenTyp() : menge(0), preis(0.0f) {} // Standard-Konstruktor kostenTyp(int m, float p) : menge(m), preis(p) {} }; int main() { kostenTyp kt(10, 2.50); }Greetz
-
Hallo,
da es sich bei kostenTyp um ein Aggregat (im Sinne des C++ Standards) handelt, kann du auch eine Aggregat-Initialisierung verwenden:struct kostenTyp { int menge; float preis; }; int main() { kostenTyp kt = {10, 2.5f}; // mit Array kostenTyp arr[3] = { {1,2.0f}, {2,3.1f}, {7, 42.2f} }; }