I am currently working on a project that is doing Ada 95 bindings to C++
and it is a virtual nightmare.  Very high learning curve and I still
don't think I got it.  Does anyone have a nice "cheat sheet" that
describes a C++ object oriented ism to an Ada 95 way of doing it.

For example:
class A {
  int Func (const A& p1);
package A is
  type Object is tagged null record;
  function Func (This : in out Object;
                         p1   : in       Object'Class)
                                  return Integer;
end A;

Well you get the idea, how do you make correct parameter associations, etc.