Single Dispatch

Mechanism where the choice of which version of a method to call is based on the type of a single object.

Click to expand C++ Code

Reference: Wiki

Double Dispatch

Mechanism that dispatches a function call to different concrete functions depending on the runtime types of two objects involved in the call.

Reference: Wiki

Visitor design pattern is good example of using double dispatch where concrete function is selected on basis of concrete visitor and concrete element types.

References:

Updated: