class A
{
        private:
                int var;
        public:
                A( int var );
};

void func( A *a )
{
}

A::A( int var )
{
        this->var = var;
        func( this );
}