Print-Adresse der virtuellen member-Funktion

Ich versuche, drucken Sie die Adresse einer virtuellen member-Funktion.
Wenn ich weiß, welcher Klasse Sie implementiert die Funktion kann ich schreiben:

print("address: %p", &A::func);

Aber ich wollen, so etwas zu tun:

A *b = new B();

printf("address: %p", &b->func); 
printf("address: %p", &b->A::func);

Allerdings nicht kompilieren. Ist es möglich, so etwas zu tun, vielleicht suchen die Adresse der vtable zur Laufzeit?

InformationsquelleAutor hidayat | 2010-06-18

Schreibe einen Kommentar