class A
{
        private:
                int var;

        friend class B;
        friend int testfunc( A & );
};

class B
{
        public:
                B( A & );
};

B::B( A &a )
{
        a.var = 3;
}

int testfunc( A &a )
{
        a.var = 4;
}