Hallo zusammen.
bin heute beim Durchblättern durch ältere Kapitel meines C++ Buches auf Abstrakte Klassen gestoßen. Hab das Kapitel wahrscheinlich nicht besonders gründlich gelesen, weil mir der Begriff nicht geläufig war.
Habs mir also mal durchgelesen und habe dazu eine Verständnisfrage.
Wofür werden abstrakte Klassen benötigt? Ist es sozusagen eine Klasse mit verallgemeinerten Funktionen, die von "gleichartigen" abgeleiteten Klassen benutzt wird quasi wie ein Template ohne Funktion?(ich finds ein wenig umständlich zu erklären).
Sprich, man hat eine abstrakte Klasse "Frucht" mit den rein-virtuellen Funktionen farbe(), geschmack(), gattung() und leitet davon "Birne", "Apfel" und "Himbeere" ab, die alle diese drei virtuellen Funktionen definieren müssen, bevor man die abgeleitete Klasse dann instanzieren kann?
Hat vielleicht jemand weitere Anwendungsbeispiele? Kann mir solche abstrakten Funktionen irgendwie momentan nur in riesigen Programmen mit vielen gleichartigen Klassen vorstellen.
bin heute beim Durchblättern durch ältere Kapitel meines C++ Buches auf Abstrakte Klassen gestoßen. Hab das Kapitel wahrscheinlich nicht besonders gründlich gelesen, weil mir der Begriff nicht geläufig war.
Habs mir also mal durchgelesen und habe dazu eine Verständnisfrage.
Wofür werden abstrakte Klassen benötigt? Ist es sozusagen eine Klasse mit verallgemeinerten Funktionen, die von "gleichartigen" abgeleiteten Klassen benutzt wird quasi wie ein Template ohne Funktion?(ich finds ein wenig umständlich zu erklären).
Sprich, man hat eine abstrakte Klasse "Frucht" mit den rein-virtuellen Funktionen farbe(), geschmack(), gattung() und leitet davon "Birne", "Apfel" und "Himbeere" ab, die alle diese drei virtuellen Funktionen definieren müssen, bevor man die abgeleitete Klasse dann instanzieren kann?
Hat vielleicht jemand weitere Anwendungsbeispiele? Kann mir solche abstrakten Funktionen irgendwie momentan nur in riesigen Programmen mit vielen gleichartigen Klassen vorstellen.