From f06d206708c58071332d765a06c8df219090230c Mon Sep 17 00:00:00 2001 From: 3009594 Date: Sun, 15 Sep 2024 21:27:02 +0200 Subject: [PATCH] OOP --- TE2/Array/Array.cpp | 15 ++++++++++++ TE2/Casting/Casting.cpp | 13 +++++++++-- TE2/EscapeSequence/EscapeSequence.cpp | 2 ++ .../VariablesvsDataType.cpp | 22 ++++++++++++++++-- .../Zeichenkette(String).cpp | 23 +++++++++++++++---- 5 files changed, 66 insertions(+), 9 deletions(-) diff --git a/TE2/Array/Array.cpp b/TE2/Array/Array.cpp index f5ead33..302525b 100644 --- a/TE2/Array/Array.cpp +++ b/TE2/Array/Array.cpp @@ -1,16 +1,31 @@ #include +#include + using namespace std; /* * - keine Notwendigkeit für das Schlüsselwort new bei der Initialisierung eines Arrays, * - (sizeof) Methode: gibt die Größe des gesamten Arrays in Bytes, * jedes index hat 4Byte + * + * . Array Methode: + * 1. arrayName.front(); gibt das erste Wert + * 2. arrayName.back(); gibt das letzte Wert + * 3. arrayName.at(index); gibt den Wert an Index + * 4. arrayName.size(); gibt die Länge des Arrays + * 5. arrayName.empty(); gibt true, wenn array leer ist oder false fall si nicht + * + * */ int main(){ + // Array Klasss in C++: + array point = {1,2,34,5,5}; + // keine Notwendigkeit für das Schlüsselwort "new" int arr[5] = {1,2,4,3,4}; + // das geht nicht /*int arr[5]; * arr = {1,2,3,4,5} //Fehler diff --git a/TE2/Casting/Casting.cpp b/TE2/Casting/Casting.cpp index 27166b6..626e83a 100644 --- a/TE2/Casting/Casting.cpp +++ b/TE2/Casting/Casting.cpp @@ -1,6 +1,10 @@ #include using namespace std; -/* ES sind 4 Casting-Arten in C++: + +/* Hinweis: in c++ soll man nicht immer casting, das wird in c++ automatisch + * + * + * ES sind 4 Casting-Arten in C++: * 1. static_cast: für primitive Variable * 2. dynamic_cast: Downcasting von einem Basisklassenzeiger zu einem abgeleiteten Klassenzeiger. Zur Laufzeit wird überprüft * ,ob die Umwandlung gültig ist. @@ -12,7 +16,12 @@ using namespace std; int main() { double d = 9.78; - //traditionelle Methode des Castings + /* + * man kann so casting: (int) z; + * oder: int(z) + */ + + //traditionelle Methode des Castings (int) ist hier optional int x = (int) d; cout<<"Die traditionelle Methode des Castings: " << x < using namespace std; + /* + * String: ist eine Array of chars + * \0 => Null + */ int main(){ - string str = "Hello, World!"; + string str = "Hello, World!"; // Hello, World! + str = "Hello\0, World!"; // Hello (\0 schneidt den String) + + //String ist chars + char name[] = "obai"; // Länge des Strings - cout << "Länge des Strings: " << str.length() << std::endl; + cout << "Länge des Strings: " << str.length() << endl; + // Länge des Strings: 5; warum, weil Compiler nutzt immer am Ende \0, um zu makieren dass der Text zu Ende ist + + cout << "Obai\0Albek"<< endl; + // Ausgabe: Obai + // Konkatenation (Verkettung) von Strings string str2 = str + " Wie geht's?"; - cout << "Verketteter String: " << str2 << std::endl; + cout << "Verketteter String: " << str2 <