Stellen habe ich eine Klasse A. B & C beide erben von A. B‘Erbt von B.C++ Kind-Funktion auf Vektor der Eltern rufen Objekte
B“ hat eine Membervariable, die einen Vektor von A Zeigern Ich erstelle ein neues B "genannt bP
und speichere ein neues C innen, genannt c
. Jetzt möchte ich c.f()
aufrufen, eine Funktion, die nur für Typ C existiert. Ich rufe bP[0]->f()
. Der Fehler, den ich bekomme, ist "f(): ist kein Mitglied von 'A'". Kann ich eine Child-Funktion aus einem Vektor von übergeordneten Objekten aufrufen?
Bitte geben Sie ein [mcve]; Auf diese Weise müssen wir uns nicht vorstellen, wir können uns den tatsächlichen Code ansehen. –
Wenn der Zeiger auf das untergeordnete Objekt zeigt, ja. Sie können einfach 'static_cast (bP [0]) -> f' tun. Aber versuchen Sie bitte, beim nächsten Mal etwas Code einzubinden, damit Sie besser verstehen, was Sie vorhaben. –
George
was ist B '' ?? Bitte geben Sie den Code an – instance