Funktionsrumpf von ableitender Klasse für "Hauptklasse" erstellen
-
Ist es möglich, einen Funktionsrumpf einer ableitenden Klasse für die "Hauptklasse" zu erstellen?
So z.B.
class A : public B { //... }; class B { public: void Probe(); }; //Aufruf void A::Probe() { //... }
-
// b.hpp class B { public: virtual void Probe() = 0; }; //a.hpp class A : public B { public: void Probe(); }; // a.cpp void A::Probe() { probiere(); }Probe ist in B rein virtuell. Da B keine Implementierung für Probe hat ist es eine abstrakte Klasse, die nicht instanziiert werden kann. Die Implementierung von Probe wird durch A (und evtl. andere ableitende Klassen) bereit gestellt.
void ProbierEs(B& b) { b.Probe(); } int main() { // B b; das geht nicht A a; ProbierEs(a); return 0; }