Wie deklariere ich ein Interface in C++? (Rein virtuelle Funktionen und abstrakte Klassen)
Hallo! Ich habe gerade angefangen, C++ nach Java zu lernen, und ich bin sehr verwirrt über das Fehlen des Schlüsselworts `interface` wie in Java oder C#. In Java war ich es gewohnt, Folgendes zu tun:\n\n```java\npublic interface Drawable {\n void draw();\n void resize(int width, int height);\n}\n```\n\nIn C++ kann ich kein direktes Äquivalent finden. Ich weiß, dass es in C++ abstrakte Klassen mit rein virtuellen Funktionen gibt, aber ich bin mir nicht sicher, wie ich sie richtig deklarieren und verwenden soll.\n\nZum Beispiel habe ich versucht, diesen Code zu schreiben:\n\n```cpp\nclass Drawable {\npublic:\n virtual void draw() = 0;\n virtual void resize(int width, int height) = 0;\n};\n```\n\nAber ich habe einige Fragen:\n1. Muss ich einen virtuellen Destruktor hinzufügen? Wenn ja, sollte er rein virtuell sein?\n2. Muss ich das Kopieren von Objekten einer solchen Klasse verhindern?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs