The Community for Technology Leaders
Green Image
Issue No. 03 - May/June (2006 vol. 23)
ISSN: 0740-7459
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.
multimethods, multiple dispatch, polymorphism, template metaprogramming, C++, reusable libraries
Danil Shopyrin, "Multimethods in C++ Using Recursive Deferred Dispatching", IEEE Software, vol. 23, no. , pp. 62-73, May/June 2006, doi:10.1109/MS.2006.77
86 ms
(Ver 3.3 (11022016))