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.