CA3D0
Lt. Commander
- Registriert
- Apr. 2011
- Beiträge
- 1.141
Hi,
mir ist noch nicht ganz klar wie virtuelle Funktionen in C++ funktionieren, mich interessiert solcher code:
Hier wird die Funktion A::f() aufgerufen, ich würde jedoch gerne B::f() aufrufen, ist dies ohne Laufzeit-typinformationen möglich?
Oder ist das nur über Funktionspointer lösbar?
mir ist noch nicht ganz klar wie virtuelle Funktionen in C++ funktionieren, mich interessiert solcher code:
Code:
#include <iostream>
class A{
public:
virtual void f(){
std::cout << "A::f()" << std::endl;
}
};
class B: public A{
public:
void f(){
std::cout << "B::f()" << std::endl;
}
};
int main(void){
B b;
A a = b;
a.f();
}
Hier wird die Funktion A::f() aufgerufen, ich würde jedoch gerne B::f() aufrufen, ist dies ohne Laufzeit-typinformationen möglich?
Oder ist das nur über Funktionspointer lösbar?
Zuletzt bearbeitet: