Modul 404

Objektbasiert programmieren nach Vorgabe

programming illustration
Modul 404 - Objektbasiert programmieren nach Vorgabe

Übersicht

Arrays

Kurzfassung

Speichert mehrere Einträge

Einträge werden hintereinander gespeichert

Beginnen bei Position 0

Grundlagen

// Zahlen Array deklarieren mit Wertzuweisung

int name[] = {Wert, Wert, Wert, ..};

// Zahlen Array deklarieren mit maximal 5 Einträge

int name[5] = {};


using namespace std;

int main ()
{
int numbers[] = {1, 2, 3, 4, 5};
    cout << numbers[0];
    // Ausgabe 
    // 1
} 

Schleifen

Kurzfassung

While Schleife

For Schleife

For each Schleife

do ... while

While Schleife

using namespace std;

int main (int argc, const char * argv[])
{
 int age = 1;
 while (age < 20)
 {
  cout << age << endl; 
  age++; 
 } 
/* Ausgabe 
1
2
3
4
5
...
19
*/ 

For Schleife

for (int number = 1; number < 20; number++)
{
 cout << number << endl;
}

/* Ausgabe 
1
2
3
4
5
...
19
*/ 

For each Schleife

int arr[] = { 10, 20, 30, 40 ,50 };
int x = 0;
for (x : arr)
{
 cout << x << endl;
}
/* Ausgabe
10
20
30
40
50
*/ 

Do ... while

do
 {

  cout << "\n" << endl;
  cout << age << endl;
  age++;

 }while (age < 20);

/* Ausgabe
1
2
3
4
5
...
19
*/ 

Break vs Continue

continue = überspringt den aktuellen Durchlauf (Iteration).

break = bricht die ganze Schleife ab.

Continue

for (int age = 20; age >= 1; age--)
{
 if (age == 19)
  {
   continue;
  } 

 cout << age << endl;
}
/* Ausgabe
20
18 
17
16
15
...
1
*/ 

Break

for (int age = 20; age >= 1; age--)
{
 if (age == 16)
  {
   break;
  } 

 cout << age << endl;
}
/* Ausgabe
20
19
18 
17
*/


 

Klassen und Objekte

Klassenaufbau

Klassen und Objekte in C
© GeeksforGeeks

void

Da der Rückgabetyp nicht einfach weggelassen werden kann, muss stattdessen void verwendet werden.

Void bedeutet so viel wie leer.

using namespace std;

int main (int argc, const char * argv[])
{
 string name = "Jane Doe"; 

Klasse erstellen

class myClass {       // the class
 public:             // Access specifier            
  int myNum:        // Attribute (int variable)
  string myString; // Attribute (string variable)
}; 

Objekt erstellen

class myClass {       // the class
 public:             // Access specifier            
  int myNum;        // Attribute (int variable)
  string myString; // Attribute (string variable)
};

int main() {
 myClass myObj;     // Create an object of MyClass

 // Access attributes and set values
 myObj.myNum = 15;
 myObj.myString = "Some random text";
 
 // Print attribute values
 cout << myObj.myNum << endl;
 cout << myObj.myString;
}
/* Ausgabe
15
Some random text
*/ 

Funktionen

Kurzfassung

Derselbe Code kann mehrfach verwendet werden

Unterprogramme = Funktionen

Bessere Strukturierung

Funktionsaufbau

Funktionsaufbau

String Funktionen

using namespace std;

int main ()
{
 string name = "Jane Doe"; 

Texteingabe einlesen

getline(cin, string); 
string userInput;
cout << "Bitte Name eingeben: ";
getline(cin, userInput);
cout << userInput << endl;
/* Ausgabe
Name eingeben: John Doe
John Doe */ 

Zwei Methoden umd Die Länge des Strings zu ermitteln

cout << name.length() << endl;
cout << name.size() << endl; 

Auf ein einzelnes Zeichen zugreifen

Die Zahl in der eckigen Klammer ist die Position, auf das man zugreifen möchte.
Wichtig: Die Ausgabe ist vom Datentyp char!

string[Position]; // [] für Array - erste Position ist 0 

Auf ein Teilstring zugreifen


// Syntax
substr(Anfangsposition, AnzahlZeichen ausgeben);

// Beispiel
string name = "Jane Doe";
cout << name.substr(5, 3) << endl;

// Ausgabe = Doe 

In einem String ein Zeichen suchen

In Diesem Beispiel ein Leerzeichen.

Sucht man nach einem Zeichen, welches nicht vorhanden ist, so wird die no position zahl (npos) ausgegeben

// Beispiel
string name = "Jane Doe";
cout << name.find(" ") << endl;

// Ausgabe = 4
 

Überprüfen ob ein Zeichen nicht im String vorhanden ist

if (name.find("X") == string::npos) 
{
 cout << "Im String taucht der Buchstabe X nicht auf" << endl;
} 

Zeichen am Ende hinzufügen

string name = "Jane Doe";
name.append("!!!!"); // name = name + "!!!!"; - andere schreibweise
cout << name << endl;
// Ausgabe = Jane Doe!!!! 

Zeichen in der Mitte einfügen

name.insert(4, " X");
cout << name << endl;
// Ausgabe = Jane X Doe 

Zeichen entfernen

name.erase(5, 3);
cout << name << endl;
// Ausgabe = Jane 

Zusammenfassung

Ist man sich sicher, dass das Zeichen existiert, kann man

string[Position]; 

verwenden. Ist man sich jedoch nicht sicher, sollte man besser

string.at(Position); 

Verwenden. Somit wird ein Fehler produziert welcher behoben werden kann.

Scroll to Top