habe morgen früh eine mündliche prüfung in c++ und eigentlich dachte ich vom vorwissen ausm internet das eine klasse abstakt ist sobald es eine pure virtuelle methode gibt, nun hab ich eben das skript vom prof durchgeschaut und dort steht folgendes:
1.2.1 Abstrakte Klassen
- weisen mindestens eine abstrakte Methode auf
- können nicht instanziert werden
- abstrakte Methoden haben nur die Schnittstellendefinition
(Signatur, Prototyp), keinen Code!
Beispiel der Verwendung für abstrakte Klassen:
Code:
class AllGO{
int linetype; int linewidth;
public: void draw();
};
class Dreieck:AllGO{
point p1, p2, p3;
public: void draw(){…} …
};
class Viereck:AllGO{
point p1, p2, p3, p4;
public: void draw(){…} …
};
ausserdem kann man für pure virtuelle funktionen ja auch einen code haben(zwar nicht beim prototyp aber ausserhalb der klasse dann)
meine 2. frage ist, wenn man eine abstrakte klasse hat mit dynamischen attributen, wo sollte delete benutzt werden um den speicher der attribute frei zugeben? im destrukter der abstrakten klasse oder die klasse, die von ihr abgeleitet wurde?






