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) + ")";
    }
};

Mehrere Objekte (Instanzen) erstellen

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 wirkt sich nicht auf car2 aus. Du kannst mehrere Objekte aus derselben Klasse erstellen, wobei jedes seine eigenen Daten enthält.

challenge icon

Aufgabe

Mittel

Erstelle eine Car-Klasse (Vorlage). Das Programm erstellt daraus zwei separate Objekte (Instanzen), jeweils mit eigenen Daten:

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

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

Übe selbstständig: Online-C++-Compiler