A.4.3 Multiple Inheritance

A section may have several parent sections. To define a multiple inherited section, a list of (relative or absolute) names of the base-sections must be given in decreasing order of priority, e.g.,

Section14
{  a1 = 1;
   a2 = 2;
}

Section15
{  b1 = 3;
   b2 = 4;
}

Section16 : Section14, Section15;

The section Section16 now consists of the four variables a1, a2, b1, and b2 inherited from Section14 and Section15, respectively.

If an element with the same name occurs in several base-sections its first occurrence will be used.

Section17
{  a = 1;
   c = 10;
}

Section18
{  b = 2;
   c = 20;
}

Section19 : Section17, Section18;

The section Section19 now consists of the three variables a, b, and c inherited from Section17 and Section18 respectively, where the variable c is inherited from section Section17.

This behavior defined for multiple inherited sections also applies for sections with the same name which are elements of the base-sections, e.g.,

Section20
{  a = 1;
   SectionX
   {  m = 100;
      n = 101;
   }
}

Section21
{  b = 2;
   SectionX
   {  o = 200;
      p = 201;
   }
}

Section22 : Section20, Section21;

The section Section22 now consists of three elements (variable a, section SectionX, and variable b) inherited from Section20 and Section21 respectively, where the section SectionX is inherited from Section20.

Therefore, the subsection ~Section22.SectionX contains the two variables m and n. The variables o and p are not elements of this subsection.

Robert Klima 2003-02-06