Grüße alle.Deklarieren von Klassenobjekten in einer Header-Datei
Ich scheine auf einem fundamentrum zu hängen, aber ich kann die Lösung nirgendwo finden. Anywho, wird weitermachen und erklären.
Ich habe ein Programm, bestehend aus drei Dateien; main.ccp, add.h, add.cpp.
erkläre ich die Klasse 'SA' in add.h und haben alle meine Funktionen definiert in add.cpp
additional.h
class SA {
...
public
int x;
} Obj1, Obj2;
main.ccp
#include "additional.h"
int main() {
Obj1.x = 5;
...
}
Diese gibt mir einen Linkfehler beim Kompilieren: Fehler LNK2005: "Klasse SA Obj1" (? Obj1 @@ 3VSA @@ A) bereits definiert in main.obj
Die einzige Definition des Objekts tritt in add.h auf, und nirgendwo sonst. Das Programm kompiliert nur gut, wenn die Objekte in der Haupt-und nicht den Header deklarieren:
main.ccp
Das Problem ist, dass ich die Objekte primarially innerhalb add.cpp verwenden möchten, müssen aber noch um mehrere öffentliche Werte über main.cpp zu initialisieren. Irgendwelche Worte der Weisheit?
perfekt. Vielen Dank! – Raugnar