Menu
CoddyTech

Header-Dateien & Quelldateien

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

In C++ ist der Code auf Headerdateien (.h) für Deklarationen und Quelldateien (.cpp) für Implementierungen aufgeteilt.

Headerdatei mit Header-Guards (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;
}

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-Guards (#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, die auf eine Header-Datei und eine Quelldatei aufgeteilt sind:

  • helpers.h: Funktionsdeklarationen mit Header-Guards
  • helpers.cpp: Funktionsimplementierungen

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