C++ : Was ist denn hier los?

...komplette Frage anzeigen

3 Antworten

Erstmal werden die include guards so nicht funktionieren. Du prüfst nähmlich ob

_Classes_H_ 

definiert ist, definierst dann aber

_classes_H_

mit kleinem "c". Zudem sollten Macros immer durchgehend großgeschrieben werden. Außerdem hast du ein Semikolon am Ende der Klasse "PunktPolygon" sowie das #endif am ende der Datei vergessen ;)

Parameter sollten Immer namen haben, auch schon im Header. das solltest du dir so früh wie möglich angewöhnen. So erkennst du nämlich auf einen Blick welche Bedeutung ein Parameter hat und musst nicht erst in der .cpp "nachschlagen".

LG SK

Das mit "ClassesH_" habe ich übersehen, aber wo habe ich denn ein Makro kleingeschrieben? Achso - Tja ich denke, da sich das Makro auf den Namen des Headers bezieht und C++ case sensitive ist, schreibe ich es so, wie den Namen des Headers.

0
@PerfectMuffin

Wie du meinst ;) ... Ist aber eigentlich schlechter Stil. Ich schreibe ein Macro ja gerade groß, damit ich sehe das es ein Macro ist - und keine Globale Variable oder Funktion. dh. werden Macros normalerweise Durchgehend Groß geschrieben. und alles wovor ein "#" steht, ist nun mal ein Macro. Es sollte also Eigentlich "_CLASSES_H_" heißen. Ist aber deine Sache wenn du es anders machst.

0
@SK199613

Wie gesagt, wenn ich irgendwasnn mal aus irgendeinem Grund cLASSES oder classes oder cLaSsEs habe oder wie auch immer, wäre dieses Makro unpraktisch.

AUßerdem verwendet man ja eh nie Header als Makros, man inkludiert sie nur.

0

Am Ende von der Klasse in classes.h fehlt ein Semikolon

Oh! Ups?

Verdammtes Java, jetzt bin ich an class -ohne Semikolon- gewöhnt, lol.

HUI - und ich merke, dass die Methode "Spin" funktioniert, yay!

0

Schließ doch die Deklaration der Klasse "PunktPolygon" erst einmal mit einem Semikolon ab und schau, was dann passiert.

Was möchtest Du wissen?