This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Multimethods in C++ Using Recursive Deferred Dispatching
May/June 2006 (vol. 23 no. 3)
pp. 62-73
Danil Shopyrin, Transas Technologies and Saint Petersburg State University of Information Technologies, Mechanics, and Optics
A multimethod is a virtual method of several objects. Some object-oriented programming languages support multimethods, but C++ doesn't. The proposed multimethods implementation approach based on recursive deferred dispatching allows multimethod functionality in C++. The approach is completely declarative and ensures compile-time type safety and integrity checking. It also provides a constant multimethod execution time, separate source code compilation, and is portable. The approach is generalized as a reusable freeware library intended to hide its complexity from the client code.
Index Terms:
multimethods, multiple dispatch, polymorphism, template metaprogramming, C++, reusable libraries
Citation:
Danil Shopyrin, "Multimethods in C++ Using Recursive Deferred Dispatching," IEEE Software, vol. 23, no. 3, pp. 62-73, May-June 2006, doi:10.1109/MS.2006.77
Usage of this product signifies your acceptance of the Terms of Use.