master
3009594 2024-09-15 21:27:02 +02:00
parent d439fd2ae3
commit f06d206708
5 changed files with 66 additions and 9 deletions

View File

@ -1,16 +1,31 @@
#include <iostream> #include <iostream>
#include <array>
using namespace std; using namespace std;
/* /*
* - keine Notwendigkeit für das Schlüsselwort new bei der Initialisierung eines Arrays, * - keine Notwendigkeit für das Schlüsselwort new bei der Initialisierung eines Arrays,
* - (sizeof) Methode: gibt die Größe des gesamten Arrays in Bytes, * - (sizeof) Methode: gibt die Größe des gesamten Arrays in Bytes,
* jedes index hat 4Byte * 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(){ int main(){
// Array Klasss in C++:
array<int , 5> point = {1,2,34,5,5};
// keine Notwendigkeit für das Schlüsselwort "new" // keine Notwendigkeit für das Schlüsselwort "new"
int arr[5] = {1,2,4,3,4}; int arr[5] = {1,2,4,3,4};
// das geht nicht // das geht nicht
/*int arr[5]; /*int arr[5];
* arr = {1,2,3,4,5} //Fehler * arr = {1,2,3,4,5} //Fehler

View File

@ -1,6 +1,10 @@
#include <iostream> #include <iostream>
using namespace std; 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<datentyp>: für primitive Variable * 1. static_cast<datentyp>: für primitive Variable
* 2. dynamic_cast: Downcasting von einem Basisklassenzeiger zu einem abgeleiteten Klassenzeiger. Zur Laufzeit wird überprüft * 2. dynamic_cast: Downcasting von einem Basisklassenzeiger zu einem abgeleiteten Klassenzeiger. Zur Laufzeit wird überprüft
* ,ob die Umwandlung gültig ist. * ,ob die Umwandlung gültig ist.
@ -12,7 +16,12 @@ using namespace std;
int main() { int main() {
double d = 9.78; 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; int x = (int) d;
cout<<"Die traditionelle Methode des Castings: " << x <<endl; cout<<"Die traditionelle Methode des Castings: " << x <<endl;

View File

@ -11,10 +11,12 @@ int main() {
//1. \n: Neue Zeile //1. \n: Neue Zeile
cout << "Hallo\nWelt!" << endl; cout << "Hallo\nWelt!" << endl;
cout << " " << endl; cout << " " << endl;
//2. \t: Horizontaler Tabulator (Trennung) //2. \t: Horizontaler Tabulator (Trennung)
cout << "Name\tAlter\tOrt" << endl; cout << "Name\tAlter\tOrt" << endl;
cout << " " << endl; cout << " " << endl;
//3. \\ - Backslash //3. \\ - Backslash
cout << "This is a backslash: \\" << endl; cout << "This is a backslash: \\" << endl;
cout << " " << endl; cout << " " << endl;

View File

@ -8,11 +8,19 @@ using namespace std;
* - es gibt (signed und unsigned) * - es gibt (signed und unsigned)
* . unsigned: speichert nur werte, die Positiv sind * . unsigned: speichert nur werte, die Positiv sind
* . signed : speichern negative und positive Numbers * . signed : speichern negative und positive Numbers
*
* - auto var: aktzptiert bel.viele DatenTyps
* .Beispiel:
* 1. auto x = 12; int
* 2. auto x = 12.4; double
* 3. auto x = 12.4f; float
*
* - alias:
*/ */
int main() { int main() {
// boolean // // boolean
bool wahr = true; // gibt 1 zurück bool wahr = true; // gibt 1 zurück
bool falsch = false;// gibt 0 zurück bool falsch = false;// gibt 0 zurück
@ -38,11 +46,21 @@ int main() {
cout << result << endl; cout << result << endl;
// signed und unsigned // //unsigned [int, char] kann nur positive Werte speichern //
unsigned int f = 9; // soll nur Positive numbers speichern unsigned int f = 9; // soll nur Positive numbers speichern
cout << f << endl; cout << f << endl;
// bool Beispiele:
bool zahl1 = 100; // gibt 1 aus
bool zahl2 = -100; // gibt 1 aus
bool zahlZero = 0; // gibt o aus
// Alias 1 (using).
using zahl = int;
zahl x = 100;
cout << x;
return 0; return 0;

View File

@ -1,22 +1,35 @@
#include <iostream> #include <iostream>
using namespace std; using namespace std;
/*
* String: ist eine Array of chars
* \0 => Null
*/
int main(){ 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 // 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 // Konkatenation (Verkettung) von Strings
string str2 = str + " Wie geht's?"; string str2 = str + " Wie geht's?";
cout << "Verketteter String: " << str2 << std::endl; cout << "Verketteter String: " << str2 <<endl;
// Zugriff auf einzelne Zeichen // Zugriff auf einzelne Zeichen
cout << "Erstes Zeichen: " << str[0] << std::endl; cout << "Erstes Zeichen: " << str[0] << endl;
// Vergleich von Strings // Vergleich von Strings
if (str == "Hello, World!") if (str == "Hello, World!")
cout << "Die Strings sind gleich" << std::endl; cout << "Die Strings sind gleich" << endl;
return 0; return 0;
} }