[C++] Klasse - Anfänger-Problem



  • Hi leute,

    ich hab ein Problem.
    Ich will mich grad in C++ einarbeiten, dazu mach ich ein paar einfache Beispiele.

    Irgendwie funktioniert dieser Code nicht:

    Kunde.h

    #include <string>

    class Kunde {
    private:
    std::string passwort;

    public:
    void pwdIn(void);
    };

    Kunde.cpp

    #include "Kunde.h"
    #include <iostream>

    void Kunde::pwdIn() {
    std::cout << "pwdIn()" << std::endl;
    }

    main_kunde.cpp

    #include "Kunde.h"

    int main() {
    Kunde k;
    k.pwdIn();
    return 0;
    }

    Er findet irgendwie die Implementierung von der Methode "pwdIn()" nicht.

    Ich habe so kompiliert:

    g++ -o main_kunde main_kunde.cpp

    Hier die Fehlermeldung die beim Compilieren kommt:

    C:/DOCUME1/P859578/LOCALS1/Temp/ccSQaaaa.o(.text+0x76):main_kunde.cpp: undefined reference to `Kunde::pwdIn()'

    Hoffe mir kann jmd. helfen.

    thx, mfg byte



  • Ja, diese Implementierung ist auch nicht in der main_kunde.cpp - deshalb mußt du dem Compiler dazusagen, daß er die kunde.cpp mitcompilieren soll:

    g++ -o main_kunde main_kunde.cpp [b]kunde.cpp[/b]
    


  • Danke für die schnelle Antwort 🙂
    achso ok alles klar, hat funktoniert.

    Muss ich dann jede selbstgeschriebene Klasse immer einzeln angeben ?
    Weil wenn ich mal mehrere hab dann muss ich da ja 20 Klassen hinschreiben.

    mfg byte



  • Ja, mußt du - woher soll der Linker sonst wissen, woher er seine Definitionen nehmen soll?

    (aus dem Grund verwenden viele Programmierer eine IDE, die sich selber um diese Abhängigkeiten kümmert - oder Makefiles)



  • Ok, ich wollte am Anfang das nur selbst kompilieren um es ein bißchen zu lernen und zu sehen.

    Eigentlich arbeite ich mit Eclispe weil ich sonst viel Java mach. Hab mir dann zu Eclipse das CDT-Plugin geholt. In Zukunft werd ich dann mit dem arbeiten.

    Nochmal danke

    Achja noch ne kleine Frage hätte ich da: Gibt es für C++ auch so eine Referenz wo die ganze Standard Library aufgelistet ist, so wie es für Java die API Spcification gibt?

    mfg byte



  • ByteRix schrieb:

    Achja noch ne kleine Frage hätte ich da: Gibt es für C++ auch so eine Referenz wo die ganze Standard Library aufgelistet ist, so wie es für Java die API Spcification gibt?

    Meinst du sowas?

    http://www.cppreference.com/



  • Ja genau sowas in der Art.

    Aber gibt es dann nur so wenige?
    Ich habe gehört es soll mehrere Standard Libraries geben.
    Sind das wirlich alle auf der Seite?

    mfg byte



  • Es gibt nur eine "Standard Library" - und die ist recht komplett auf der Seite beschrieben. Alles andere sind Erweiterungen verschiedener Hersteller (d.h. du mußt mal in deine Dokumentationen sehen).



  • Ok, danke werd ich machen.

    Ist es eigentlich schwer als Anfänger in C++ was mit ncurses zu machen?

    Also Programmiererfahrung habe ich aber bin eben grad neue eingestiegen mit C++.

    mfg byte


Anmelden zum Antworten