tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
2837
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    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?
     

  2. #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:
    Code :
    1
    
    #include <klassenname.cpp>
    (Die Headerdatei brauchst Du hier nicht mehr einbinden, weil diese durch den Präprozessor schon mit in die Implementierung geschrieben wird.)
     

  3. #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
     

  4. #4
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    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
     

  5. #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.
     

  6. #6
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    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
     

  7. #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...
     

  8. #8
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    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
    Geändert von js-mueller (16.04.03 um 14:58 Uhr)
     

  9. #9
    Avatar von js-mueller
    js-mueller js-mueller ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Beiträge
    432
    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.
     

  10. #10
    bitmaster 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!
     

  11. #11
    Daystalker Daystalker ist offline Rookie
    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
     

  12. #12
    Daystalker Daystalker ist offline Rookie
    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

  1. Borland C++ Builder
    Von riccardo1 im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 02.05.08, 19:57
  2. Borland C++ Builder?
    Von Sinac im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 12.12.06, 16:11
  3. Internetprogramme mit Borland C++ Builder.
    Von AtomSoldier im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 15.06.05, 18:56
  4. Diagramme bei Borland C++ Builder?
    Von Mstricha im Forum Borland CBuilder und VCL
    Antworten: 2
    Letzter Beitrag: 30.03.05, 15:10
  5. Borland C++ Builder X Personal
    Von RealHAZZARD im Forum Borland CBuilder und VCL
    Antworten: 5
    Letzter Beitrag: 10.03.05, 21:31