Mainstream object-oriented
languages often fail to provide complete powerful features
altogether, such as, multiple inheritance, dynamic overloading and
copy semantics of inheritance. In this paper we present a core
object-oriented imperative language that integrates all these
features in a formal framework. We define a static type system and a
translation of the language into the meta-language λ_object,, in order
to account for semantic issues and prove type safety of our
proposal.