C++ Class Definitions

04/04/2014 11:28 lolxdflyx3#1
Hallo,
ich sitzt vor nem Fehler und komm einfach nicht weiter. Mittlerweile denke ich schon fast, dass es am Compiler liegt :D

Hier sind 3 Versuche mit Errors:

Versuch 1:

Versuch 2:

Versuch 3:

Was mach ich falsch?

mfg lolxdfly
04/04/2014 12:07 LcPlayer1#2
1. Versuch: Entferne die ganzen publics vor den Methodendeklarationen, die stehen ja schon im Publicbereich.

Alternative(wenn auch unnötig): hinter jedes public ein ":"

Edit: Vergiss meinen Beitrag, hab mir die anderen Versuche nicht angeschaut...
04/04/2014 12:20 Dr. Coxxy#3
hast die memberdefinitionen i-wo vor der deklaration oder vergessen den header in der cpp einzubinden.
04/04/2014 12:36 lolxdflyx3#4
Quote:
Originally Posted by Dr. Coxxy View Post
hast die memberdefinitionen i-wo vor der deklaration oder vergessen den header in der cpp einzubinden.
der Header ist in der Cpp drinne!

Was genau meinst du mit
Quote:
Originally Posted by Dr. Coxxy View Post
hast die memberdefinitionen i-wo vor der deklaration
04/04/2014 12:40 Dr. Coxxy#5
bei versuch 3:

error C2653: 'CConsignmentMng' : is not a class or namespace name
error C2227: left of '->AddItem' must point to class/struct/union

er kennt offensichtlich an der stelle wo du CConsignmentMng->AddItem definierst noch nicht die CConsignmentMng klasse.
außerdem sollte man afaik bei nem singleton den destruktor public machen und noch den = operator private überladen.
04/04/2014 12:47 Tyrar#6
Jede Methode einzeln als public zu deklarieren ist nicht nötig.
Hinter der abschließenden Klammer sollte ein Semikolon stehen.
Nutzt nur die "Instance" Methode den Konstruktor? Zumindest erlaubst du dem Compiler nicht, den Konstruktor von woanders aufzurufen. Wobei das auch einen anderen Fehler verursachen würde, wie wird der genau aufgerufen?