Mehrfache Vererbung + virtuelle Funktion Durcheinander

Ich habe eine diamond-Mehrfachvererbung Szenario wie dieses:

    A
  /   \
 B     C
  \   /
    D

Gemeinsamen übergeordneten Elements, A, definiert eine virtuelle Funktion fn().

Ist es möglich, beide B und C zu definieren fn()?

Wenn es so ist, dann ist die nächste Frage - kann D sowohl B und C fn() ohne disambiguierung? Ich nehme an, es ist die syntax für diese..

Und ist es möglich, für D zu tun, ohne zu wissen, wer genau sind B und C? B und C kann ersetzt werden durch einige andere Klassen und ich will den code in-D-zu generisch sein.

Was ich versuche zu tun ist, um D irgendwie auflisten aller Instanzen von fn() hat es in seiner Abstammung. Ist dies möglich, einige andere bedeutet, dass virtuelle Funktionen?

InformationsquelleAutor der Frage shoosh | 2009-03-05

Schreibe einen Kommentar