OOP
parent
d439fd2ae3
commit
f06d206708
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue