Menu
Coddy logo textTech

Header-Dateien & Quelldateien

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

In C++ wird der Code in Header-Dateien (.h) für Deklarationen und Quelldateien (.cpp) für Implementierungen aufgeteilt.

Header-Datei mit Header-Schutz (helpers.h)

#ifndef HELPERS_H
#define HELPERS_H

#include <string>

std::string greet(std::string name);
int addNumbers(int a, int b);

#endif

Quelldatei mit Implementierungen (helpers.cpp)

#include "helpers.h"

std::string greet(std::string name) {
    return "Hello, " + name + "!";
}

int addNumbers(int a, int b) {
    return a + b;
}

Ihre Verwendung in main

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

int main() {
    std::cout << greet("Alice") << std::endl;
    std::cout << addNumbers(5, 3) << std::endl;
    return 0;
}

Ausgabe:

Hello, Alice!
8

Header-Schutzmechanismen (#ifndef, #define, #endif) verhindern, dass ein Header mehrfach eingebunden wird. Die Datei .h deklariert, was vorhanden ist (Prototypen), die Datei .cpp definiert, wie es funktioniert (Implementierungen).

challenge icon

Aufgabe

Mittel

Erstelle drei Hilfsfunktionen, aufgeteilt auf eine Header-Datei und eine Quelldatei:

  • helpers.h: Funktionsdeklarationen mit Header-Schutz
  • helpers.cpp: Implementierungen der Funktionen

Zu erstellende Funktionen:

  • greet(name): gibt "Hello, <name>!" zurück
  • ageInTenYears(age): gibt age + 10 zurück
  • checkAdult(name, age): gibt "<name> is an adult" zurück, wenn age >= 18 ist, andernfalls "<name> is a minor"

Probier es selbst

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

int main() {
    std::string name;
    int age;
    std::getline(std::cin, name);
    std::cin >> age;
    
    std::cout << greet(name) << std::endl;
    std::cout << "In 10 years you will be " << ageInTenYears(age) << std::endl;
    std::cout << checkAdult(name, age) << 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