A Semantics of the Separation of Interface and Implementation in C++

  • Authors:
  • Eun-Sun Cho;Sang-Yong Han;Hyoung-Joo Kim

  • Affiliations:
  • -;-;-

  • Venue:
  • COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

C++ uses `class' as the basis of `subtype-polymorphism' and `inheritance', but it has been pointed out that the overloading of `class' limits the expressiveness and makes its type system inflexible. This made C++ and some other object-oriented languages to separate a class into two modules -- an interface and an implementation. But, there seems to be no leading C++ model for separating interface lattice from implementation lattice. Moreover none of proposed models describe the result of the separation in a formal way. As a result it is hard to understand what the type space would be like after the separation. This paper presents a formal model for the separation of interface and implementation in C++, which explains the properties of the resulting type space after the separation.