Frage zu nem Projekt



  • Ja das sagt sich so einfach^^^ aber ich hab erst seit nem halben jahr c++inner schule und wir fangen jetzt grad ma an mit schleifen...von daher hab ich mir 60% von dem was ich da geschrieben hab selbst beibringen müssen ... genauso wie mit den arrays das hatten wir alles noch nich von daher versteh ich noch nich ganz soviel davon



  • Guten Tag.

    Ok, hier ein bisschen Code, den rest machst du bitte selbst, der Code ist ungetestet.

    class Car{
    private:
     // Edit warum benutzt du überall char arrays? es gibt noch andere Datentypen
     int m_nummer; // int
     string m_name; // string
     char m_kategorie; 
     bool m_vermietet; // true oder false
     int m_kilowatt;// geht doch auch int 
     int m_kmstand;// int
    public:
      Car(int nummer,string name,bool vermietet,char kategorie,int kilowatt,int kmstand){
      //zuweisungen:
      m_nummer=nummer; 
      m_name=name;
      m_vermietet=false;
      m_kategorie=kategorie;
      m_kilowatt=kilowatt;
      m_kmstand=kmstand;
      }
      ~Car(){}
    
      void ShowCarData(){
      cout << m_nummer << endl
           << m_name << endl
           << boolapha() << m_vermietet <<endl// Ich hoffe boolalpha geht so
           << m_kilowatt<<endl
           << m_kmstand <<endl;
      }
    
    };
    

    MfG Max



  • Guten Tag.

    // Das sind die alten Header, es sollte so heißen:
    #include<iostream> // Neue Standard Header haben kein Suffix!
    #include<conio.h> // Ok
    // Gilt auch bei den in C++ übernommenen C Headern:
    #include<cstdio> 
    #include<cstdlib> 
    using namespace std; 
    
    main() 
    /* Ist zwar Ok, da wenn kein Datentyp angegeben wird int angenommen wird (laut Standard),
    manche Compiler dies aber nicht unterstützen!*/
    int main() // ist besser
    

    MfG Max



  • Zugegeben sagt mir zwar nich viel aber ich werd mich ma hinsetzen und das durchgehn 😃 vielen vielen dank für deine mühe ... nur noch eine frage welchen befehl muss ich jetzt verwenden wenn ich das ganze unten ausgeben will



  • // Du musst ein Object erstellen:
    Car BMW(Hierherrein schreibst du die werte, diese weist der Konstruktor der in der Klasse oben steht automatisch zu)
    
    // Dann fragst du ne nummer ab:
    if(CarNumber==1234567)
    // Und dann greifst du über das Objekt auf seine Methode zu:
    BMW.ShowCarData();
    

    Ein Objekt ist wie eine Struktur, nur mit Funktionen drinnen.
    // Gute Tutorials, besonders Volkhard:
    http://www.robsite.de/tutorials.php?tut=c

    MfG Max



  • Guten Tag.
    Der Konstruktor von oben ist schlecht, ich nehme einen Elemente-Initialiesierer:

    class Car{ 
    private: 
     // Edit warum benutzt du überall char arrays? es gibt noch andere Datentypen 
     string m_name; // string 
     int m_nummer; // int 
     char m_kategorie;  
     bool m_vermietet; // true oder false 
     int m_kilowatt;// geht doch auch int  
     int m_kmstand;// int 
    public: 
      // Konstruktor
      Car(string name,int nummer,char kategorie,bool vermietet,int kilowatt,int kmstand)
      : m_name(name),
        m_nummer(nummer),
        m_kategorie(kategorie),
        m_vermietet(vermietet),
        m_kilowatt(kilowatt),
        m_kmstand(kmstand);// Muss hier ein Strichpunkt(";") hin?
      { 
      } 
       // Dummy Destruktor
      ~Car(){} 
    
      void ShowCarData(){ 
      cout << m_nummer << endl 
           << m_name << endl 
           << boolapha() << m_vermietet <<endl// Ich hoffe boolalpha geht so 
           << m_kilowatt<<endl 
           << m_kmstand <<endl; 
      } 
    
    };
    

    MfG Max



  • Hi, also das mit der Objecterstellung bekomm ich nich so ganz hin... der rest geht eigentlcih auch wenn das da für mich fast gleich aussieht wie das oben :d sorry aber du hasts halt hier mit nem anfänger zu tun 😃

    MfG ghost



  • Guten Tag.

    Schau dir den Konstruktor an:

    Car(string name,int nummer,char kategorie,bool vermietet,int kilowatt,int kmstand)
    

    Jetzt erstellst du ein Objekt, der Konstruktor wird dann automatsich aufgerfugen und übergibt die werte an die Attribute.

    Car BMW("BMW Z9",102323,'A',true,1000,128000);
    

    Und dann rufste die Methode auf:

    BMW.ShowCarData();
    

    PS:Lies dir mal eines der Tutorials durch

    MfG Max



  • ah gut jetzt hat es geklappt VIELEN DANK 😃

    MfG ghost



  • Master_Max schrieb:

    Muss hier ein Strichpunkt(";") hin?

    Nope, kommt keiner hin.


Anmelden zum Antworten