Programmier-Befehle - Woche 9 PDF
Document Details
Uploaded by FervidDune
ETH Zurich
Tags
Summary
This document is about programming and explains concepts like datatypes, struct definitions, object creation, and member access. This document discusses important programming commands for week 9 and is suitable for undergraduate-level students.
Full Transcript
Programmier-Befehle - Woche 9 Datentypen struct Container für Datentypen Wichtige Befehle: Definition: struct str name { int mem1; bool mem2;...
Programmier-Befehle - Woche 9 Datentypen struct Container für Datentypen Wichtige Befehle: Definition: struct str name { int mem1; bool mem2; int mem3; }; Objekt erstellen: str name obj1; mit Startwerten: str name obj2 = {3, true, 4}; aus anderem Objekt: str name obj3 = obj2; Zugriff auf Member: obj1.mem1 Die Definition eines Structs hat ein ; am Schluss. Nur der Zuweisungsoperator (=) wird automatisch erstellt (und kopiert dann die Member einzeln). Die anderen Operatoren (z.B. ==, !=,...) muss man selbst passend überladen (siehe Eintrag operator...). Bei der Default-Initialisierung eines Objekts des Typs str name werden alle Member einzeln default-initialisiert. Für fundamentale Typen (int, float, usw.) bedeutet das, dass sie uninitialisiert sind, bis man ihnen nachträglich einen Wert zuweist. Das führt zu Problemen, falls man ihren Wert vorher schon ausliest. struct candidate { std::string name; // Name of the participant int age; // Her/his age }; int main () { // Initialization candidate mary; // default-initialisation std::cout