ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
2837
2837
EMPFEHLEN
-
16.04.03 11:57 #1
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?
-
16.04.03 12:59 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
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 :1
#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:
(Die Headerdatei brauchst Du hier nicht mehr einbinden, weil diese durch den Präprozessor schon mit in die Implementierung geschrieben wird.)Code :1
#include <klassenname.cpp>
-
16.04.03 12:59 #3
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
also du musst der cpp wenigstens sagen wie die hpp heisst!
mfg
umbrasaxum
-
16.04.03 13:29 #4
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
-
16.04.03 14:09 #5
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
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.
-
16.04.03 14:21 #6
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
-
16.04.03 14:35 #7
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Hast Du die Dateien auch vorher gespeichert? Sonst ist es doch logisch, dass die nicht auf der Festplatte vorhanden sind...
-
16.04.03 14:44 #8
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 angezeigtGeändert von js-mueller (16.04.03 um 14:58 Uhr)
-
18.04.03 17:20 #9
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.
-
21.04.03 21:33 #10bitmaster Tutorials.de Gastzugang
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!
-
09.09.03 13:53 #11
- Registriert seit
- Jul 2003
- Beiträge
- 6
Hi Leutz,
mir ist eben das selbe wiederfahren.
Habe eine eigene Klasse erstellt und jetzt sagt er mir auch:
[C++ Fehler] Prg.cpp (123): E2090 Qualifizierer 'Klasse' ist kein Name einer Klasse oder einer Struktur
Dabei ist sind die Angaben genauso korrekt wie die anderen ca. 20 Methoden auch.
Was ich "weiß" ist, daß man bei der Klassenerstellung die Dateien (Header- und Source-Datei) gleich "betiteln" muß. Sprich Klassenname.cpp und Klassenname.h geht während Klassenname.cpp und NameDerKlasse.h Probs bereitet.
Aber selbst das
ist bei mir Bestens...
Also, ich werd weiterbasteln und hoffentlich eine Lösung finden, dann werde ich die Lösung hier posten!
In diesem Sinne...
Daystalker
-
11.09.03 12:57 #12
- Registriert seit
- Jul 2003
- Beiträge
- 6
Hi Leutz,
ich hatte bei der Deklaration der Methode nicht
void TKlasse::Methode()
verwendet sonder statt dessen
void Klasse::Methode()
Das war - logischerweise - falsch!
Begründung:
Da man nur Methoden von ->Klassen<- festlegen kann und nicht von bereits allokierten ->Objekten<- konnte das ja nicht gehen.
Jetzt habe ich - kurzum (so wie ich es auch wollte!) - die Methode der Klasse zugewiesen und schon ****ts (=funktionierts).
In diesem Sinne...
Daystalker
Ähnliche Themen
-
Borland C++ Builder
Von riccardo1 im Forum C/C++Antworten: 7Letzter Beitrag: 02.05.08, 19:57 -
Borland C++ Builder?
Von Sinac im Forum C/C++Antworten: 9Letzter Beitrag: 12.12.06, 16:11 -
Internetprogramme mit Borland C++ Builder.
Von AtomSoldier im Forum C/C++Antworten: 3Letzter Beitrag: 15.06.05, 18:56 -
Diagramme bei Borland C++ Builder?
Von Mstricha im Forum Borland CBuilder und VCLAntworten: 2Letzter Beitrag: 30.03.05, 15:10 -
Borland C++ Builder X Personal
Von RealHAZZARD im Forum Borland CBuilder und VCLAntworten: 5Letzter Beitrag: 10.03.05, 21:31





Zitieren
Login






