Borland c++ Builder

js-mueller

Erfahrenes Mitglied
Hi

ich möchte gerne eine eigene Klasse schreiben. Die .h und .cpp hab ich fertig. Nun möchjte ich das ich die Klasse benutzen kann. Doch ich kann die funktionen der klasse nicht verwenden.
Muss ich die .h und .cpp der klasse irgendwie verbinden oda so?
 
Beim C++ Builder ist das normalerweise so gelöst, dass man die Klasse selbst in der Headerdatei (klassenname.h) speichert und die eigentliche Implementierung der Methoden für die Klasse in die Datei mit dem Code (klassenname.cpp).
Damit die Datei für den Code aber auch weiss, welche Klasse gemeint ist, musst Du die Klasse natürlich auch noch in der *.cpp-Datei einbinden:
Code:
#include <klassenname.h>

Dann hast Du aber gerade mal die Klasse.
Wenn Du noch Instanzen (Objekte) von der Klasse in anderen Dateien benutzen willst, musst Du natürlich auch noch die Implementierung der Klasse einbinden:
Code:
#include <klassenname.cpp>
(Die Headerdatei brauchst Du hier nicht mehr einbinden, weil diese durch den Präprozessor schon mit in die Implementierung geschrieben wird.)
 
In der cpp steht #include "vok.h"
aber es funktioniert nicht. Oder speicher ich die sachen vieleicht im falschen ordner? Wo müssen die sachen den hin dmait se funktionieren
 
Sieh Dir doch einfach mal an, wie der Builder ein Formular (ist ja auch nur eine Klasse) im Code verwendet und wo die entsprechenden Dateien gespeichert sind.
 
Ich hab mir das mal angeguckt, aber ich weiss net wo ich die speichern soll. Ich habe die windows suche benutzt, die hat aber nicht die datei angezeigt. Es gab zwar unit1.h und unit1.cpp aber die gehörten zu examples und hatten nicht den gleichen inhalt wie die datei die ich im Builder hatte
 
Bin ja nicht doof :)
Gespeichert hab ich das.

edit:

Ich hab noch nen bissle rumgetestet und wenn die die .h und de .cpp im gleichen verzeichniss wie das eigentliche Programm liegen, dann funktioniert es.
Doch wenn ich dann Vok test; mache sagt er mir " Vok undifiniertes Symbol".
Die Klasse heisst Vok und wieso sollte dies jetzt nicht gehen?

edit2:

und wenn ich im quelltext Vok::ausgabe(); aufrufe bekomme ich folgende meldung
"[C++ Fehler] File1.cpp(7): E2090 Qualifizierer 'Vok' ist kein Name einer Klasse oder einer Struktur"

Ich weiss net wieso. In der linken spalte wird mir die klasse doch angezeigt
 
Zuletzt bearbeitet:
Hi

Mein Problem ist leider immernoch nicht gelößt ;-) Es wäre nett wenn jemand mir helfen könnte, der auch selbst erfahrungen mit borland gesammelt hat.
 
Im Notfall muss du die Klasse im Hauptquellcode reinpacken.
Ich weiss nicht ob es oben schon gepostet wurde, aber so würde
es warscheindlich auch gehen:

main.cpp:

#include "vok.h"

...



vok.h:


#include "vok.hpp"

// Deklerationen

...



Natürlich müssen die Klassendateien(vok.h und vok.hpp) im gleichen
Verzeichniss sein wie das Projekt. Wenn dass nicht funktionieren sollte, dann includiere die vok.hpp nach den Deklerationen ein!
 

Neue Beiträge

Zurück