Polymorphismus erlaubt Objekten verschiedener Klassen, über eine gemeinsame Schnittstelle angesprochen zu werden. Diese Lektion behandelt statischen und dynamischen Polymorphismus in C++.
class Rechner {
public:
int add(int a, int b) { return a + b; }
double add(double a, double b) { return a + b; }
};
int main() {
Rechner r;
std::cout << r.add(2,3) << std::endl; // 5
std::cout << r.add(2.5,3.1) << std::endl; // 5.6
return 0;
}
virtual) umgesetzt. Die Entscheidung, welche Methode aufgerufen wird, erfolgt zur Laufzeit.
class Tier {
public:
virtual void laut() { std::cout << "Tier macht Geräusch" << std::endl; }
};
class Hund : public Tier {
public:
void laut() override { std::cout << "Wuff" << std::endl; }
};
int main() {
Tier* t = new Hund();
t->laut(); // Wuff
delete t;
return 0;
}
override markieren