Re: Safe Multiple Inheritance - HOW? (was: Re: Commit: WordPerfect importer cleanup)

From: William Lachance (william.lachance@sympatico.ca)
Date: Fri Mar 07 2003 - 08:05:26 EST

  • Next message: Dom Lachowicz: "Commit: some of Larin's work"

    On Fri, 2003-03-07 at 05:14, Omer Zak wrote:
    > On 6 Mar 2003, William Lachance wrote:
    >
    > > Remove an unnecessary marshaller class through the miracle of multiple
    > > inheritance. Less code, less bugs. The classes I'm aggregrating are
    > > completely orthogonal: please forward your complaints about the use of
    > > MI to /dev/null/.
    >
    > Actually, one kind of multiple inheritance is (or should be) trouble-free,
    > and is used in a software development framework, which generally frowns on
    > multiple inheritance (Symbian OS, used in some cellular phones).
    >
    > This special kind has the restriction that out of all parent classes from
    > which a given class multiply-inherits, only one parent class may declare
    > variables and/or non-virtual functions. All other parent classes are
    > allowed to declare only virtual functions.
    >
    > Thus, the extra parent classes are no more than the equivalent of Java's
    > interfaces.
    >
    > If William Lachance's multiply-inheriting classes conform to this
    > restriction, I see no problem with allowing this.
    > If not, then it should not be too difficult to restructure the classes to
    > conform to this restriction.

    WPXHLListenerImpl (one of the classes in the join) is a class which is
    just a collection of virtual functions. This is not likely to change.

    For those curious, please see this link:
    http://www.parashift.com/c++-faq-lite/multiple-inheritance.html

    -- 
    William Lachance <william.lachance@sympatico.ca>
    


    This archive was generated by hypermail 2.1.4 : Fri Mar 07 2003 - 08:07:30 EST