"friend" Deklaration einer Klasse inerhalb einer anderen



  • Hallo,

    ich wollte folgendes machen:

    // FirstClassFile.cpp:
    
    class FirstClass
    {
    
    /* ... */
    
    private:
    
    /* ... */
    
    friend class SecondClass; // Soll der "SecondClass" erlauben auch auf private Komponenten (Funktionen, Variablen etc.) der "FirstClass" zuzugreifen.
    
    void PrivateFunction();
    
    }
    
    // SecondClassFile.cpp:
    
    class SecondClass
    {
    
    /* ... */
    
    private:
    
    /* ... */
    
    void PrivateFunction()
    {
    FirstClass Object;
    Object.PrivateFunction(); // Geht nicht! Obwohl diese klasse ein 'Freund' der anderen ist
    }
    
    }
    

    Könnt ihr mir sagen warum das mit dem "friend" nicht funktioniert??



  • Ups, mein Fehler 😃

    Ich hatte den Namen der Klasse in meinem Projekt mit einer ähnlichen vertauscht 🤡



  • Weil du keine Header benutzt und SecondClass.cpp den Typ FirstClass überhaupt nicht kennen kann. Und ghet nicht icht keine ausrechene Fehlerbeschreibung. Meinst du du könntest posten was der Compiler sagt? 🙄 🙄



  • harhar schrieb:

    Und ghet nicht icht keine ausrechene Fehlerbeschreibung. Meinst du du könntest posten was der Compiler sagt? 🙄 🙄

    und deine rechtschreibung auch nicht ausreichend ist 😉 😃 xD

    aber stimmt schon, stichwort forward declaration und die namen müssen richtig geschrieben sein...



  • Skym0sh0 schrieb:

    harhar schrieb:

    Und ghet nicht icht keine ausrechene Fehlerbeschreibung. Meinst du du könntest posten was der Compiler sagt? 🙄 🙄

    und deine rechtschreibung auch nicht ausreichend ist 😉 😃 xD

    aber stimmt schon, stichwort forward declaration und die namen müssen richtig geschrieben sein...

    Hallo?! 😮 😮 Ich könnte Legasteniker sein du Wurst! 😡

    *G* Ne ich bin einfach nur zu Faul zum tippen! 🙄


Anmelden zum Antworten