Problem mit Klassen

Tutorials.at
Verfügbare Informationen zu "Problem mit Klassen"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: absoluter noob tith - exbs - DrPhil_Guth
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 6
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Problem mit Klassen
  • Letzte Antwort: vor 17 Jahren, 1 Monat, 13 Tagen, 2 Stunden, 38 Minuten
  • Alle Beiträge und Antworten zu "Problem mit Klassen"

    Re: Problem mit Klassen

    absoluter noob tith - 15.03.2007, 21:16

    Problem mit Klassen
    Also ich möchte ein Bsp. aus nem Buch umprogrammieren (alles in ne Funktion machen und dann noch ein bissl erweitern)

    Das ist ein sehr (extrem) kleines (sinnloses) Spiel^^

    Aber nun möchte ich das Grundgerüst kompilieren und, shit, es funzt net.....

    Hier ist der Quellcode:

    Code: #include <iostream.h>
    #include <stdlib.h>
    #include <windows.h>

    #pragma comment (lib, "winmm.lib")

    //Klasse für das Spiel, enthällt alle Funktionen,
    //so das die main-Funktion frei bleibt

    class CSpiel
    {
          public:

          void Hauptmenue();
          void Spielen ();
          void Highscore();
          void WaehleLevel ();
    };


    //Ausgabe des Hauptmenüs und Verzweigung mittels switch
    void Hauptmenue()
    {
         char Auswahl;

         do
         {
              cout<<"Zahlenraten  Version 1.0 by Tim Berthold"<<endl;
              cout<<"________________________________________"<<endl;
              cout<<"Menue:"<<endl<<endl;
              cout<<"(S)piel starten"<<endl;
              cout<<"(L)evel waehlen"<<endl;
              cout<<"(H)ighscore"<<endl;
              cout<<"(B)eenden"<<endl;

              cin>> Auswahl;

              cout<<endl<<endl;

              switch (Auswahl)
              {
                     case ('S'):
                     case ('s'):
                     {
                          cout<<"jetzt würde das Spiel starten"<<endl;
                     }break;



              }
         }while (Auswahl != 'b' && Auswahl != 'B');
    };

    void Spielen ()
    {
    };

    void Highscore()
    {
    };

    void WaehleLevel ()
    {
    };


    int main()
    {
          CSpiel Game;

          Game.Hauptmenue();

          system("PAUSE");
          return 0;
    }



    Re: Problem mit Klassen

    exbs - 15.03.2007, 21:23


    hab jetzt ken bock zu gugn ... was kommt denn führ eine fehlermeldung ?!!

    "futtz net!" ist _keine_ fehlerbeschreibung. also poste den fehler und ich helfe gern.



    Re: Problem mit Klassen

    DrPhil_Guth - 16.03.2007, 00:07


    ^^

    Ich halt mal meine übliche Predigt...

    Erste Frage:
    Was für eine fehlermeldung kommt?

    Zweite Frage:
    Was soll
    "#include <windows.h>"
    "#pragma comment (lib, "winmm.lib") "
    "system("PAUSE");"
    ?
    Das macht dein tolles spiel BETRIEBSSYSTEMABHÄNGIG. Klar, das muss manchmal sein. Aber ich bezweifle, dass das hier der fall ist, da das ein Konsolenprogramm ist. Wollte ich das jetzt kompilieren, müsste ich mein stabil laufendes Linux runterfahren, ins unsichere XP rein, und mich mit völlig überladenen IDE's rumschlagen. Frage nochmal: MUSS DAS SEIN?

    Drittens:
    " #include <iostream.h> " ist DEPRECATED!!! Das heißt veraltet.
    Und nicht ohne grund. bitte benutze #include <iostream> (nein, das ist NICHT das gleiche, achte auf die endung)

    Viertens:
    "system("PAUSE"); "
    Nicht, dass ich mich auskennen würde... Nur rein vom optischen schaut das nicht so aus, als obs funktionieren würde... Kann mich auch irren.

    Fünftens:
    So ein Designding:
    Wenn du eine Klasse nur als funktionssammlung verwendest, dann ist es klüger die Methoden (funktionen in der klasse) als static zu deklarieren. Dann brauchst du keine instanz der klasse bilden.


    Und jetzt bitte poste, welche fehlermeldung kam



    Re: Problem mit Klassen

    absoluter noob tith - 16.03.2007, 12:43


    Naja es kommt keine richtige Fehlermeldung sondern sowas mit compiler linker output und darin steht:

    C:\DOKUME~1\Tim\LOKALE~1\Temp\ccMzcaaa.o(.text+0x2db):zahlen~1.cpp: undefined reference to `CSpiel::Hauptmenue(void)'


    Dann zu deiner zweiten:

    Für den Schrott den ich da zusammen bastle braucht man ne Zufallszahl und meinem (hoffentlich) schlauen Buch sagt, dasss man da das benutzen kann......


    Das mit Sytem Pause kommt bei meinem Compiler gleich zubeginn........
    (Ich glaube,dass das dazu da ist dasmit das außerhalb des Compiler läuft, weil wenn ich das rausnehme beendet sich das gleich......)


    Zu deiner 3.

    Mein Compiler kommt das so glei zubeginn und da lass ich das so (ja ich versteh halt noch nicht alles.......^^)


    4.

    Auch wenn du es nicht glaubst, aber funzt^^


    5.
    Bis jetzt hab ich das in dem Buck, was ich wahrscheinlich gleich aus dem Fenster haue, nur so gesehen (vll bin ich ncoh nciht weit genug........)





    Ansonsten: Ich weiß halt bis jetzt noch nicht viel.......

    Deine Predigt ist ne gute Predigt^^



    EDIT:: Also ich hab das jetzt die Funktionen als static deklariert und, tata, es klappt^^



    Re: Problem mit Klassen

    DrPhil_Guth - 16.03.2007, 14:40


    ja...

    Gut. Wenn du das so haben willst, wies vorher war:

    Es gibt nen linker error, weil der compiler weiß, dass die klasse so eine funktion hat, aber er die implementation nicht findet. Wieso? Ganz einfach, du hast die Member functions nicht als Member Functions deklariert, sondern als ganz normale funktionen.

    Also wenn die funktion zur klasse dazugehören soll, musst du den "Gültigkeitsbereichsoperator", kurz "::" voranstellen:

    void CSpiel::Hauptmenue()
    {
    //Bla
    }



    Re: Problem mit Klassen

    absoluter noob tith - 16.03.2007, 15:16


    Achso.................

    Ich bin so dumm^^

    Danke ;)



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Mein Würfelprogramm funktioniert nicht richtig... - gepostet von Godmaster am Samstag 23.09.2006
    Frage (Eingabe)! - gepostet von Muhi am Donnerstag 04.05.2006
    Pascal - Tutorial fertig - was jetzt ? - gepostet von jan040793 am Sonntag 18.11.2007
    Welche kostenlose Firewall ist die sicherste? - gepostet von Danny am Freitag 13.04.2007
    Fragen/Kritik zum C++ Tutorial - gepostet von progger am Freitag 25.08.2006
    Problem - gepostet von C-Chris am Dienstag 30.10.2007
    Spiele-Trainer - gepostet von Cookie am Dienstag 20.02.2007
    Befehle / Funktionen - gepostet von Walgo am Mittwoch 18.07.2007



    Ähnliche Beiträge wie "Problem mit Klassen"

    Gesuchte Klassen ! - animality (Sonntag 25.11.2007)
    Wir haben ein Problem!!! - Langi (Freitag 09.11.2007)
    Hassu N Problem ????? - Anonymous (Montag 13.12.2004)
    schon das erste problem.... :-( - jonnyb (Donnerstag 21.06.2007)
    Ein PC NooB hat ein Sound Problem - Vergil (Mittwoch 31.10.2007)
    Problem - Dragonfly (Samstag 21.07.2007)
    Rießen Problem!!Bitte alle lesen!!!! - Jule14 (Samstag 07.01.2006)
    !!! kleines Problem bei Bundesliga 05/06 !!! - bundesliga0506 (Mittwoch 20.07.2005)
    Guides für Verschiedene Klassen: - Tenaka (Mittwoch 10.05.2006)
    Point of Existence 2 Mod Singleplayer Problem! - dirtrunner (Dienstag 05.09.2006)