Path: utzoo!attcan!uunet!peregrine!elroy.jpl.nasa.gov!usc!samsung!umich!vela!schemers From: schemers@vela.acs.oakland.edu (Roland Schemers III) Newsgroups: comp.object Subject: Re: Examples of Multiple Inheritance? Summary: C++ Network Objects Message-ID: <4128@vela.acs.oakland.edu> Date: 5 Dec 90 21:28:30 GMT References: <60700005@inmet> Reply-To: schemers@vela.acs.oakland.edu (Roland Schemers III) Organization: Oakland University, Rochester MI Lines: 35 In article <60700005@inmet> stt@inmet.inmet.com writes: >We are looking for an example of a C++ class (or Eiffel, Objective C, >etc.) which is a "true" sub-class of two (or more) parent classes; >that is, it bears the "is-a" relationship to multiple parents. > I have written some C++ classes that use MI extensively. The library is called Transport, and stands for Network Transport. Simply put, a Transport is something that lets you send data from place to another. Here is the layout of the classes: class Transport; class Socket inherit from Transport; class UnixSocket inherit from Socket; class InetSocket inherit Socket; class DECnetSocket inherit from Socket; class TransportStream inherit from Transport; class SocketStream inherit from Socket and TransportStream; class UnixStream inherit from UnixSocket, and SocketStream; class InetStream inherit from InetSocket, and SocketStream; class DECnetStream inherit from DECnetSocket and SocketStream; class TransportDatagram inherit from Transport; class SocketDatagram inherit from Socket, and TransportDatagram; class InetDatagram inherit from InetSocket and SocketDatagram; So a InetStream object is a Transport, Socket, InetSocket, TransportStream, SocketStream, and InetStream object! Roland -- Roland J. Schemers III Systems/Network Manager schemers@vela.acs.oakland.edu (Ultrix) Oakland University schemers@argo.acs.oakland.edu (VMS) Rochester, MI 48309-4401 ~Disclaimer::Disclaimer() { reboot(RB_HALT); } (313)-370-4323