Code: Alles auswählen
class Base
{
vector<*Base> Childs;
virtual void Build();
void BuildChilds() { for(...) Child->Build();...}
}
class Derived : public Base
{
... void Build();
}
class DerivedX : public Derived
{
void Build()
{
Base::Build(); // Dinge bauen die alle brauchen
// ... baue Dinge speziell für diese Klasse, erzeuge ggf. Childs!!
BuildChilds(); // Wenn Childs.. lass diese auch was bauen..
}
}
Der Aufruf von Build so einer Klasse kann von überall passieren. Es ist nicht immer nur die Hierarchie die in den Basisklassen das steuern, aber da wollen wir wieder hin.
Jetzt wollen wir die Struktur und Dinge der Build-Funktion anders verarbeiten/steuern um einiges zu optimieren und auf Änderungen effektiver zu reagieren.
Jetzt die Frage: Kann man irgendwie einen Event/Meldung/Ping bekommen wenn eine Derived::Build() Funktion angetriggert wird um diese dann ggf. umzuleiten oder den Aufruf zu steuern ?
Ausser den Source aller Ableger (ist vorhanden, könnte automatisiert werden) zu bearbeiten habe ich so keine Idee.
Ich weiß das man irgendwie die vTable lesen kann. Aber einen Hook einsetzen der das dann umdeligiert ?
C++ MVS 2012
Danke.