A method and system for implementing functions in a class that inherits an
interface and that inherits an implementing class which implements the
interface. A forwarding system adds to the class for each virtual function
a forwarding implementation of that virtual function. The forwarding
implementation forwards its invocation to the implementation of that
virtual function in the implementing class. The forwarding system
implements a special forwarding instruction that specifies the interface
and implementing class. A developer of a class that inherits the interface
and the implementing class inserts the forwarding instruction into the
class definition. When the forwarding system encounters such an
instruction during compilation of the class definition, the forwarding
system provides an implementation of each virtual function of the
interface that forwards its invocation to a corresponding virtual function
in the implementation class. The forwarding system also forwards virtual
functions of any direct or indirect base interface of the interface to the
implementing class.
Een methode en een systeem om uit te voeren functioneren in een klasse die een interface erft en die een het uitvoeren klasse erft die de interface uitvoert. Een het door:sturen systeem voegt aan de klasse voor elke virtuele functie een het door:sturen implementatie van die virtuele functie toe. De het door:sturen implementatie door:sturen zijn aanroeping aan de implementatie van die virtuele functie in de het uitvoeren klasse. Het het door:sturen systeem voert een speciale het door:sturen instructie uit die de interface en het uitvoeren van klasse specificeert. Een ontwikkelaar van een klasse die de interface en de het uitvoeren klasse erft neemt de het door:sturen instructie in de klassendefinitie op. Wanneer het het door:sturen systeem een dergelijke instructie tijdens compilatie van de klassendefinitie ontmoet, verstrekt het het door:sturen systeem een implementatie van elke virtuele functie van de interface die zijn aanroeping aan een overeenkomstige virtuele functie in de implementatieklasse door:sturen. De het door:sturen systeem ook voorwaarts virtuele functies van om het even welke directe of indirecte basisinterface van de interface aan de het uitvoeren klasse.