Fehler bei der Erstellung einer Klasse !!HILFE!!



  • Hallo alle,
    ich bin momentan am c++ lernen und sollte Folgenden Quelltext ausprobieren:

    -------------------------------------------------------------------------------
    // C++ für Spieleprogrammierer
    // Listining7.1
    // Eine einfache Klasse erzeugen und verwenden
    //
    #include <iostream>
    #include <conio.h>
    #include <Windows.h>
    using namespace std;

    // Klassen
    //
    class CRaumschiff
    {
    puplic:

    // Membervariablen
    int m_Energie;
    int m_Geschwindigkeit;

    // Memberfunktionen
    void ZeigeDaten ()
    {
    cout << "Energie :" << m_Energie << endl;
    cout << "Geschwindigkeit :" << m_Geschwindigkeit << endl;
    }
    };

    // Hauptprogramm
    //
    int main ()
    {
    // Variablen
    //
    CRaumschiff Schiff1; // Instanz der Klasse Raumschiff
    CRaumschiff Schiff2; // Instanz der Klasse Raumschiff

    // Erstes Raumschiff initialisieren
    Schiff1.m_Energie = 100;
    Schiff1.m_Geschwindigkeit = 50;

    // Zweites Raumschiff initialisieren
    Schiff2.m_Energie = 150;
    Schiff2.m_Geschwindigkeit = 25;

    // Ausgabe der Daten
    Schiff1.ZeigeDaten ();
    cout << endl;
    Schiff2.ZeigeDaten ();

    getch ();
    return 0;
    }

    ---------------------------------------------------------------
    Das ⚠ Proplem ⚠ :
    Fehler 1 error C2062: 'int'-Typ unerwartet

    Fehler 2 error C2238: Unerwartete(s) Token vor ';'

    Fehler 3 error C2065: 'm_Energie': nichtdeklarierter Bezeichner

    Fehler 4 error C2039: 'm_Energie': Ist kein Element von 'CRaumschiff'

    Fehler 5 error C2248: "CRaumschiff::m_Geschwindigkeit": Kein Zugriff auf private Member, dessen Deklaration in der CRaumschiff-Klasse erfolgte.

    Fehler 6 error C2039: 'm_Energie': Ist kein Element von 'CRaumschiff'

    Fehler 7 error C2248: "CRaumschiff::m_Geschwindigkeit": Kein Zugriff auf private Member, dessen Deklaration in der CRaumschiff-Klasse erfolgte.

    Fehler 8 error C2248: "CRaumschiff::ZeigeDaten": Kein Zugriff auf private Member, dessen Deklaration in der CRaumschiff-Klasse erfolgte.

    Fehler 9 error C2248: "CRaumschiff::ZeigeDaten": Kein Zugriff auf private Member, dessen Deklaration in der CRaumschiff-Klasse erfolgte.

    ----------------------------------------------------------------------------
    Der Text steht !EXAKT! so im Script und ich hab schon 1000mal nochmal drübergechaut... 😡 ich hab leider in diesem Thema nicht so viel Erfahrung...

    was also ist FALSCH?



  • Formatiere das ganze mal korrekt und sage, auf welche Zeile sich welche Fehlermeldung bezieht. So kann man ja nicht erkenen.



  • puplic?



  • Alles klar mein Fehler:

    ich hab "puplic" geschrieben und nicht "public"

    ⚠ MERKE: ACHTE AUF RECHTSCHREIBFEHLER! ⚠



  • Oder hilfreicher:

    ⚠ MERKE: VERWENDE IDES MIT SYNTAXHIGHLIGHTING! ⚠



  • Gibt es irgendeinen Grund warum der Klassenname CRaumschiff, anstelle von Raumschiff, heißt? Oder ist das auch so ein Ding, wie manche m_variabelname, anstelle von _variabelname schreiben, einfach weil sie mehr tippen wollen?



  • CppNeuland schrieb:

    Gibt es irgendeinen Grund warum der Klassenname CRaumschiff, anstelle von Raumschiff, heißt? Oder ist das auch so ein Ding, wie manche m_variabelname, anstelle von _variabelname schreiben, einfach weil sie mehr tippen wollen?

    Ja. Das CRaumschiff ist so ein Pseudohungarian um C++ Klassen deutlicher von built-ins abzutrennen, oder so. Warum auch immer man das tun möchte.
    Was ich allerdings warnend finde ist, dass sowohl conio.h als auch windows.h inkuldiert werden, obwohl man sie nicht braucht.
    Naja, was will man auch von einem "C++ für Spieleprogrammierer" erwarten. 🙄


  • Mod

    Gibt es irgendeinen Grund warum der Klassenname CRaumschiff, anstelle von Raumschiff, heißt?

    Weil man noch tausendfach verdeutlichen muss, dass es sich bei CRaumSchiff um eine (C)Klasse handelt. Schließlich wären wir da sonst nie drauf gekommen. Und der Code liest sich so natürlich auch deutlich einfacher.



  • Jo, wenn ich 10 Bezeichner mit dem Prefix C und 100 Bezeichner mit dem Prefix m_ habe, dann fällt es mir leicht alles auseinander zu halten, da ich ja dann immer weiß, dass dies eine eine Klasse ist und das andere eine Variable 😃



  • CppNeuland schrieb:

    da ich ja dann immer weiß, dass dies eine eine Klasse ist

    Du willst es aber gar nicht wissen.

    Warum "C" als Präfix schlecht ist, erfährst du hier.
    Warum UN generell schlecht ist, steht hier.


Anmelden zum Antworten