Multiple inheritance with DGD?

Multiple inheritance in DGD is different from other LPC drivers. To inherit multiple files one must label the inherited files (other LPC drivers automatically label the inherited objects with the file name -- which is a problem if there are two files of the same name in different directories which you wish to inherit). The best way to illustrate the DGD method is via an example. In this example two objects A and B are inherited and given the labels foo and bar. These labels are used to call the inherited create functions.

Example 4-2. Multiple inheritance with DGD

/* 
 * Inherit program "A" and label it as foo.  
 * Inherit program "B" and label it as bar.
 */
inherit foo "A";
inherit bar "B";

void
create() {
   /*
    * Call the create functions in programs "A" and "B" via their inheritance
    * labels.
    */
   foo::create();
   bar::create();
}