Can I make dispatching and nondispatching calls to virtual functions?
Yes. An Ada package, refered to as a class package, is generated for each C++ class. A class package interfaces to the visible, that is non-private, member functions of the class. A nondispatching function interfaces directly to the C++ member function. A virtual function is implemented in Ada as a dispatching call through the VFT to the proper member function. For classes with non-pure virtual functions a nondispatching package is also generated. The nondispatching package interfaces to the visible, that is non-private, virtual function members specific to the class thereby providing nondispatching calls to those member functions.