The solid filled arrow in Fig.25.23 represents a message—or synchronous call—in
the UML and a function call in C++. This arrow indicates that the flow of control is from
the sending object(the ATM) to the receiving object (a Balance Inquiry).Since this is a
Synchronous all, the sending object may not send another message, or do anything a tall, until the
Receiving object processes the message and returns control to the sending object—the sender just
waits. For example, in Fig. 25. 23, the ATM calls member function execute of a Balance Inquiry and may not s end another message until execute has finished and returns control
to the ATM. [ Note: If this were an asynchronous call, represented by as tick arrowhead, the
sending object would not have to wait for the receiving object to return control—it would
continue sending additional messages immediately following the asynchronous call. Asynchronous calls often
can be implemented in C++ using platform-specific libraries provided
with your compiler. Such techniques are beyond the scope of this book.]