Probleme mit Klasse+Header



  • Hallo,

    ich habe eben versucht eine Klasse zu schreiben, da ich mich gerade in das Thema einarbeite, allerdings habe ich ein Problem. Ich poste jetzt am besten erstmal den Quellcode, damit sich jeder vielleicht selber ein Bild davon machen kann.

    Hauptprogramm (mit Main-Fkt)

    #include <iostream>
    #include "Unit2.h"
    
    using namespace std;
    
    void main(void)
    
    {
    Test Bruch;
    Bruch.setBruch(3,4);
    Bruch.getBruch();
    
    cin.get();
    }
    

    Unit2.Cpp

    void Test::setBruch(int,nt)
       {
        z=zz;
        n=nn;
        rat=(double)z/n;
       }
    void Test::getBruch()
         {cout<<rat;}
    

    Unit2.h

    class Test
     {
     private:
    
     int z,n;
     double rat;
    
     public:
      void setBruch(int zz,int nn);
      void getBruch();
     };
    

    Wenn ich das ganze jetzt compilieren will bekomme ich folgende Fehlermeldungen:

    [C++ Fehler] Unit2.cpp(1): E2090 Qualifizierer 'Test' ist kein Name einer Klasse oder einer Struktur
    [C++ Fehler] Unit2.cpp(1): E2040 Deklaration nicht ordnungsgemäß abgeschlossen

    Ich bin mir sicher, dass ich bisher alles richtig gemacht habe oder liege ich doch falsch?
    Könnte mir vielleicht jemand einen Tipp geben? 🙂

    Vielen Dank schonmal
    gruß Hades



  • Eine Includedirektive für Unit2.h am Anfang von Unit2.cpp wäre wohl noch ganz gut.



  • du musst Unit2.h auch in Unit2.Cpp inkludieren



  • Außerdem sind die Parameternamen eher bei der Definition wichtig (ohne Namen kannst du in der Funktion nicht auf die Parameter zugreifen).

    PS: Es heißt übrigens "int main()".


Log in to reply