friend-function



  • Friend-funktionen sind ja solche, die auf elemente anderer klassen zugreifen können.
    Wie ist die syntax.
    Bitte schreibt ein verständliches komplierbares beispiel nieder!
    thx



  • Bitte schreibt ein verständliches komplierbares beispiel nieder!

    #include <iostream>
    class Foo;
    
    void Bar(Foo& Obj);
    
    class Foo
    {
        // Die Funktion Bar ist unser Freund
        friend void Bar(Foo& Obj);
        private:
            int x;
        public:
            Foo(int i) : x(i) {}
            int GetX() {return x;}
    };
    void Bar(Foo& Obj)
    {
        // wäre diese Funktion nicht friend der Klasse
        // Foo, könnte sie nicht auf x zugreifen.
        Obj.x = 42;
    }
    
    int main()
    {
        Foo Obj(27);
        Bar(Obj);
        std::cout << Obj.GetX() << std::endl;
    }
    

    Voilà, ein kompilierbares und hoffentlich verständliches Beispiel.


Anmelden zum Antworten