From: William Lachance (william.lachance@sympatico.ca)
Date: Fri Mar 07 2003 - 08:05:26 EST
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