[C/C++] Einfaches OOP Beispiel Problem

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von frankred, 8. April 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. April 2010
    Einfaches OOP Beispiel Problem

    Hi Leute, hab im Studium jetzt mit C++ angefangen. Komme eigentlich aus der JAVA Ecke.
    Will eigentlich was total banales machen und es klappt einfach nicht. Folgendes Szenario:

    Bruch.cpp
    Code:
    #include <iostream>
    
    class Bruch{
    private:
     int zaehler, nenner;
    public:
     Bruch(int nZaehler = 0, int nNenner = 1){
     zaehler = nZaehler;
     nenner = nNenner;
     }
    };
    
    Bruch.h
    Code:
    #ifndef BRUCH_H_
    #define BRUCH_H_
    class Bruch{
     private:
     int zaehler, nenner;
     public:
     Bruch(int nZaehler = 0, int nNenner = 1);
    };
    #endif /* BRUCH_H_ */
    
    Main.cpp
    Code:
    #include <iostream>
    #include "Bruch.h"
    
    int main(int argc, char **argv) {
    
     [COLOR="Red"]Bruch bruch = Bruch(1,2);[/COLOR]
    
     return 0;
    }
    
    An der rot markierten stelle bekomme ich beim Compilieren folgenden Fehler:
    Main.cpp:7: undefined reference to `Bruch::Bruch(int, int)'
    collect2: ld returned 1 exit status


    Weiß einfach nicht mehr weiter, warscheinlich für euch kein Problem. Als Compiler verwende ich übrigens MinGW.
    Danke schonmal im vorraus :lol:
     
  2. 8. April 2010
    AW: Einfaches OOP Beispiel Problem

    Die Syntax zur Deklaration von Methoden einer Klasse ist wie folgt:

    Code:
    <rückgabe-typ> <klasse>::<methode>( <parameter> )
    {
    }
    Also, an deiner Klasse angewendet:

    Code:
    Bruch::Bruch( int a, int b ) // Hat keinen Rückgabe-Typ
    {
     // mach was
    }
     
  3. 9. April 2010
    AW: Einfaches OOP Beispiel Problem

    danke für deine antwort, jedoch ändert sich nichts. Ich glaube ich hatte auch gelesen dass man diese expliziete Definition nur verwenden muss wenn mann Methoden für die Klasse außerhalb der Klasse schreibt.
     
  4. 9. April 2010
    AW: Einfaches OOP Beispiel Problem

    Code:
    [COLOR="Red"]#include "Bruch.h"[/COLOR]
    
    [COLOR="Red"]Bruch::Bruch(int nZaehler, int nNenner)[/COLOR]{
     zaehler = nZaehler;
     nenner = nNenner;
    }
    --

    Code:
    #ifndef BRUCH_H_
    #define BRUCH_H_
    class Bruch{
     private:
     int zaehler, nenner;
     public:
     Bruch(int nZaehler = 0, int nNenner = 1);
    };
    #endif /* BRUCH_H_ */
     
  5. 9. April 2010
    AW: Einfaches OOP Beispiel Problem

    C++-Programmierung: Klassen – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher
    shit war einer schneller.
     
  6. 9. April 2010
    AW: Einfaches OOP Beispiel Problem

    Hey danke euch, es hat geklappt BW is raus!!!
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.