Wann muss eine Header Datei eingebunden werden?



  • Hallo ich habe eine Frage.
    Und zwar habe ich aus einem C++ Buch folgenden Code:
    HauptCode:

    #include "Header.h"
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    	int Staerke;
    	float Geschwindigkeit;
    	int Steigerung;
    
    	cout << "Bisherige Staerke des Charakters: ";
    	cin >> Staerke;
    
    	cout << "Bisherige Geschwindigkeit des Charakters: ";
    	cin >> Geschwindigkeit;
    
    	cout << "Steigerung in Prozent: ";
    	cin >> Steigerung;
    
    	Staerke = addProzent(Staerke, Steigerung);
    	Geschwindigkeit = addProzent(Geschwindigkeit, Steigerung);
    
    	cout << "\nNeue Charakterwerte: " << endl;
    	cout << "Staerke: " << Staerke << endl;
    	cout << "Geschwindigkeit: " << Geschwindigkeit << endl;
    
    	return 0;
    }
    

    Header.h:

    int   addProzent(int Wert, int Prozent);
    float addProzent(float Wert, int Prozent);
    

    Charakter.cpp:

    #include "Header.h"
    float addProzent(float Wert, int Prozent)
    {
    	float neuerWert;
    	neuerWert = Wert + (Wert*Prozent) / 100.0f;
    	return neuerWert;
    }
    
    int addProzent(int Wert, int Prozent)
    {
    	float test = 10;
    	int neuerWert;
    	neuerWert = Wert + (Wert*Prozent) / 100;
    	return neuerWert;
    }
    

    Ich verstehe aber einfach nicht wieso ich Header.h auch in die Charakter.cpp einbinden soll. Lässt man die Zeile weg bekommt man auch keine Fehlermeldung oder Warnung. Kann mir einer den Vorteil bzw. den Sinn hinter dieser Einbindung erklären?
    Vielen Dank


  • Mod

    Es ist hier tatsächlich nicht direkt zwingend nötig. Später, bei Klassen wird es aber zwingend nötig. Weiterhin haben manche Compiler auch Warnoptionen, falls eine (non-static) Funktion ohne vorherige Deklaration definiert wird. So kann man bei Änderungen feststellen, ob auch alle nötigen Stellen konsistent angepasst wurden.


Log in to reply