Freund Memberklasse?



  • Ich habe folgendes Problem: Ich habe eine Klasse A die einen Wert enthält und eine friend Klasse B besitzt. B hat allerdings auch noch eine Memberklasse C und diese muss auch auf die privaten Member von A zugreifen können.
    Allerdings ist C nicht automatisch ein friend von A, obwohl B ein friend ist. Ich kann C auch nicht explicit ein friend von A machen weil ich C nicht forward declariren kann (zumindest nicht weis wie).

    Hier noch der Code fals das einfacher zu verstehen ist als meine Erklärungsversuch:

    class B;
    class A{
        int i;
        friend class B;
    };
    class B{
    public:
        class C{
        public:
            void func1(A&a)
            {
                a.i=6;
            }
        };
    };
    int main(){
        A a;
        B::C c;
        c.func2(a);
        return 0;
    }
    


  • geht nicht

    friend class B::C;
    

Anmelden zum Antworten