Menu
Coddy logo textTech

Klassen vs. Objekte

Teil des Abschnitts Objektorientierte Programmierung der C++-Journey von Coddy — Lektion 6 von 104.

Eine Klasse ist ein Bauplan, der die Struktur definiert. Ein Objekt ist eine spezifische Instanz, die aus diesem Bauplan erstellt wurde.

Die Klasse (Bauplan)

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

Erstellen mehrerer Objekte (Instanzen)

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

Jedes Objekt ist unabhängig. Das Ändern von car1 hat keinen Einfluss auf car2. Sie können mehrere Objekte aus derselben Klasse erstellen, von denen jedes seine eigenen Daten enthält.

challenge icon

Aufgabe

Mittel

Erstellen Sie eine Car-Klasse (Bauplan). Das Programm erstellt zwei separate Objekte (Instanzen) daraus, jedes mit seinen eigenen Daten:

  • Öffentliche Member: brand (string), year (int)
  • getInfo() — gibt "<brand> (<year>)" zurück

Spickzettel

Eine Klasse ist ein Bauplan, der die Struktur definiert. Ein Objekt ist eine spezifische Instanz, die aus diesem Bauplan erstellt wurde.

Definieren einer Klasse:

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

Erstellen von Objekten aus einer Klasse:

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

Jedes Objekt ist unabhängig und enthält seine eigenen Daten. Das Ändern eines Objekts hat keine Auswirkungen auf ein anderes.

Probier es selbst

#include <iostream>
#include "Car.h"

int main() {
    std::string brand1, brand2;
    int year1, year2;
    
    std::getline(std::cin, brand1);
    std::cin >> year1;
    std::cin.ignore();
    std::getline(std::cin, brand2);
    std::cin >> year2;
    
    Car car1;
    car1.brand = brand1;
    car1.year = year1;
    
    Car car2;
    car2.brand = brand2;
    car2.year = year2;
    
    std::cout << "Car 1: " << car1.getInfo() << std::endl;
    std::cout << "Car 2: " << car2.getInfo() << std::endl;
    return 0;
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung