Direkt zum Hauptinhalt springen
eLearner.app
Modul 4 · Lektion 1 von 29/18 im Kurs~12 min
Lektionen des Moduls (1/2)

Klassen und Objekte

Objektorientierte Programmierung (OOP) ist eines der grundlegenden Paradigmen in C++. Sie ermöglicht es, Daten und Funktionen in einzelnen Einheiten namens Klassen zusammenzufassen.

Eine Klasse fungiert als Bauplan (blueprint), während ein Objekt eine konkrete Instanz dieser Klasse ist.

Grundlegende Syntax für eine class

In C++ wird das Schlüsselwort class verwendet. Im Gegensatz zu anderen Sprachen müssen Klassen in C++ zwingend mit einem Semikolon ; enden:

Code
#include <iostream>
#include <string>

class Player {
    // Di default, tutti i membri di una classe sono privati
private:
    std::string name;
    int score = 0;

public:
    // Metodi pubblici per accedere o modificare i dati privati
    void setName(std::string newName) {
        name = newName;
    }

    void addScore(int points) {
        score += points;
    }

    void display() {
        std::cout << name << " ha " << score << " punti!" << std::endl;
    }
};

int main() {
    Player p; // Creazione di un oggetto di tipo Player
    p.setName("Marco");
    p.addScore(15);
    p.display();
    return 0;
}

Zugriffsmodifikatoren: public und private

Die Kapselung besteht darin, die internen Implementierungsdetails eines Objekts zu verbergen und nur eine kontrollierte Schnittstelle nach außen freizugeben.

C++ regelt diese Kontrolle über Zugriffsmodifikatoren:

  • private: Mitglieder, auf die nur innerhalb der Elementfunktionen der Klasse selbst zugegriffen werden kann.
  • public: Mitglieder, auf die von jedem externen Teil des Programms aus zugegriffen werden kann, das das Objekt instanziiert.

Probier es aus

Übung#cpp.m4.l1.e1
Versuche: 0Wird geladen…

Definiere eine Klasse Rectangle mit zwei privaten Ganzzahlelementen width und height. Füge eine öffentliche Methode void setDimensions(int w, int h) hinzu, um diese festzulegen, und eine Methode int getArea(), die die Fläche (width * height) zurückgibt. Erstelle im main ein Rectangle, setze die Maße auf 5 und 4 und gib dessen Fläche aus.

Editor wird geladen…
Hinweis anzeigen

Verwende die Zugriffsmodifikatoren `private:`und`public:`. Denke daran, die Klasse nach der geschweiften Klammer mit einem Semikolon `;` abzuschließen.

Lösung nach 3 Versuchen verfügbar

Übung#cpp.m4.l1.e2
Versuche: 0Wird geladen…

Definiere eine Klasse Counter mit einem privaten Element count, das mit 0 initialisiert ist. Füge die öffentlichen Methoden void increment() und int getCount() hinzu. Erstelle im main ein Counter-Objekt, inkrementiere es zweimal und gib den erhaltenen Wert aus.

Editor wird geladen…
Hinweis anzeigen

In einem modernen C++ kannst du Datenelemente direkt in der Klasse initialisieren: `int count = 0;`.

Lösung nach 3 Versuchen verfügbar