Multimethods Implementation in C++ Using Recursive Deferred Dispatching

  • Authors:
  • Danil Shopyrin

  • Affiliations:
  • Transas Technologies and Saint Petersburg State University of Information Technologies, Mechanics, and Optics

  • Venue:
  • IEEE Software
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.