Problem mit Präprozessor-Direktiven und inkludierten Klassen



  • Guten Abend Leute,

    ich verbreche mir eine ganze Weile den Kopf, komm aber kein Stück vorran. Nun, ich hab eine einfache Klasse mit einer public-Funktion die ein "Hallo" ausgibt. Dies hab ich folgendermaßen deklariert:

    #ifndef __TEST_H
    #define __TEST_H
    
    class Klasse
    {
    public:
           void Funktion();
    };
    
    #endif
    

    Dazu habe ich noch die Präprozessor-direktiven verwendet. Im Hauptprogramm habe ich mittels

    #include "File.h"
    

    die Headerdatei eingeben und eine Instanz der Klasse erstellt:

    Klasse k;
    k.Funktion();
    

    Doch irgendwie funktioniert das nicht 😞 😞 😞 . Hier der ganze Code:

    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include <iomanip>
    #include "File.h"
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        Klasse k;
        k.Funktion();
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    

    Kann mir jemand auf die Sprünge helfen? 😕



  • es wär hielfreich wenn du sagst was nicht tut
    und uns vll die funktion auch zeigst



  • Ich rate mal drauf los:
    - Wo befindet sich File.h ? - Möglicherweise findet der Compiler die Datei nicht, aber da ich mal annehme, dass es compiliert, tippe ich darauf:
    - die Konsole schliesst sich nach dem Start sofort wieder. Das liegt daran, dass dein Programm nach der Ausgabe fertig ist. Um das zu verhindern siehe FAQ..
    - oder 3. Du bist ein Troll und es wird keine Antwort mehr geben. 🙄



  • drakon schrieb:

    - die Konsole schliesst sich nach dem Start sofort wieder. Das liegt daran, dass dein Programm nach der Ausgabe fertig ist. Um das zu verhindern siehe FAQ..

    Er hat ja system("PAUSE") im Code, das wird es also nicht sein. Bitte weiter raten! 😉



  • _matze schrieb:

    drakon schrieb:

    - die Konsole schliesst sich nach dem Start sofort wieder. Das liegt daran, dass dein Programm nach der Ausgabe fertig ist. Um das zu verhindern siehe FAQ..

    Er hat ja system("PAUSE") im Code, das wird es also nicht sein. Bitte weiter raten! 😉

    Mist. Übersehen. Da bleibt mir sonst nur noch auf meinem dritten Vorschlag zu beharren.. 😉



  • Ich rate mal, dass bei der Definition der Methode Klasse:: fehlt.



  • MFK schrieb:

    Ich rate mal, dass bei der Definition der Methode Klasse:: fehlt.

    Oo. Der ist gut. Ich kippe noch einen drauf:
    - Er hat keine IDE und linkt die andere cpp gar nicht mit.


Anmelden zum Antworten