Menu
Coddy logo textTech

Header-Dateien & Quelldateien

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

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

Header-Datei 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 .h-Datei deklariert, was existiert (Prototypen), die .cpp-Datei definiert, wie es funktioniert (Implementierungen).

challenge icon

Aufgabe

Mittel

Erstellen Sie 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, andernfalls "<name> is a minor"

Spickzettel

C++-Code ist in Header-Dateien (.h) für Deklarationen und Quelldateien (.cpp) für Implementierungen organisiert.

Header-Guards verhindern mehrfaches Einbinden:

#ifndef HELPERS_H
#define HELPERS_H
// Deklarationen hier
#endif

Header-Datei (helpers.h) enthält Funktionsdeklarationen:

#ifndef HELPERS_H
#define HELPERS_H

#include <string>

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

#endif

Quelldatei (helpers.cpp) enthält Implementierungen:

#include "helpers.h"

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

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

Verwendung der Funktionen in main:

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

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

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