struct In {
  In *a, *b, *c;
};

struct Out {
  In * ptr;
};

void init( Out * obj ){
  obj->ptr->a = 0;
  obj->ptr->b = 0;
  obj->ptr->c = 0;
}

void init2 ( Out * obj ){
  In * p = obj->ptr;
  p->a = 0;
  p->b = 0;
  p->c = 0;
}

int main()
{
  Out obj;
  obj.ptr = new In();

  init(&obj);
  init2(&obj);
}
