Overlapping Headerfile Includes



  • Hallo zusammen

    Ich als c++ anfänger, brauche sehr dringend Hilfe, weil ich bei einem problem angstossen bin , das ich mit meinem Wissen und nachforschungen nicht lösen konnte:

    Habe zwei KLASSEN, myclass1, myclass2
    jede klasse braucht headerfiles von der anderen klasse weil, sich in jeder klasse ein pointer mit type der anderen klasse befindet.

    Das problem, der scheiss compiliert nicht (AUF WINDOWS, mit VISUAL STUDIO), ich muss das so machen, was muss geändert werden damit das so funktioniert?

    namespace?? wie wozu?

    BESTEN DANK!! Für jede nützliche Antwort!

    Gruss Gabriel

    myclass1.h

    #ifndef CLASS1
    #define CLASS1
    
    #include "myclass2.h"
    
    class myclass1
    {
    
    public:
    
    	myclass2 * ptr_myclass2;
    	void fun();
    };
    
    #endif
    

    myclass2.h

    #ifndef CLASS2
    #define CLASS2
    
    #include "myclass1.h"
    
    class myclass2
    {
    
    public:
    
    	myclass1 * ptr_myclass1;
    	void fun();
    };
    
    #endif
    

    myclass1.cpp

    #include "myclass1.h"
    
    #include <iostream>
    
    using namespace std;
    
    void myclass1::fun(){
    	cout << "myCLASS1:FUN"<<endl;
    return;
    }
    

    myclass2.cpp

    #include "myclass2.h"
    
    #include <iostream>
    
    using namespace std;
    
    void myclass2::fun(){
    	cout << "myCLASS2:FUN"<<endl;
    return;
    }
    

    main.h

    int main (int argc, char *argv[])
    {
    
    myclass1 myclass1instance;
    myclass2 myclass2instance;
    
    system("pause");
    }
    

  • Administrator

    Stichwort:
    Vorwärtsdeklaration, bzw. Forward declaration

    Sollte genügend Beiträge im Forum geben. Hat auf der englischen Wikipedia glaub ich sogar einen Eintrag 😉

    Grüssli


Anmelden zum Antworten