Referenzattribute auf andere Klassen in C++?? und abstract Klassen wie??
-
Hi C++-Gemeinde,
ich habe zwei Fragen an euch:
Wie kann ich Referenzen zu anderen Klassen herstellen?
Ich dachte immer so:
class A { public: Klassenname *zeigername; }aber mein Compiler gibt immer nen Fehler aus...
Wie genau geht das mit den abstract Klassen?
ist das einfach nur vor die Methoden virtual davorschreiben oder ist da noch mehr zu beachten?Vielen Dank schon mal
JL++
-
JL++ schrieb:
aber mein Compiler gibt immer nen Fehler aus...
Manche Leute wollen einfach keine Hilfe....
-
was soll das jetzt heißen?
-
Das wir die genaue Fehlermeldung brauchen, nicht irgendein "da kommt ein Fehler".
Zu 2.: google mal Polymorphismus.
-
Fehler 2 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
-
JL++ schrieb:
Wie kann ich Referenzen zu anderen Klassen herstellen?
Ich dachte immer so:
class A { public: Klassenname *zeigername; }Da fehlt ein Semikolon am Ende der Klassendefinition. Was meinst du mit Referenzen? Meinst du Kompositionen?
JL++ schrieb:
Wie genau geht das mit den abstract Klassen?
ist das einfach nur vor die Methoden virtual davorschreiben oder ist da noch mehr zu beachten?Eine abstrakte Klasse ist eine Klasse, die min. 1
pure virtual functionbesitzt.
-
JL++ schrieb:
Fehler 2 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
vermutlich hast du "Klassenname" nicht forward deklariert (sorry fürs Denglisch
).Eine abstrakte Klasse besitzt mindestens eine Methode ohne Definition - es existiert nur die Deklaration. Daher können von dieser Klasse keine Instanzen erzeugt werden. Jede abgeleitete (konkrete) Klasse muss diese Methode definieren. Die Schlüsselwörter "pure virtual" und "Polymorphismus" wurden ja bereits genannt.
-
JL++ schrieb:
was soll das jetzt heißen?
Das heißt vor allem, dass du ganz offensichtlich nicht die mit wichtig markierten Threads dieses Forums gelesen und verstanden hast, sonst hättest du deine Frage mit etwas mehr Infos gespickt und den richtigen Code gepostet, der den Fehler bei dir erzeugt. Das Lesen solcher Threads gehört normalerweise zum guten Ton in Foren wie diesem. Beachte auch den Link in meiner Signatur...