Brauch Hilfe mit Klassen..!



  • Hi, unzwar versuche ich in letzter Zeit mir, mit nen Paar Büchern C++ beizubringen.. -.-, nu bin ich an eine Aufgabe gelangt die ich nicht gelöst bekomme..

    Evtl, könnte mir jemand weiterhelfen..

    Aufgabe:

    1. Entwerfen Sie eine Klasse Auto u.a. mit den Attributen KmStand, Tankinhalt und Verbrauch, den Methoden fährt (eine bestimmte Strecke), tankt (eine bestimmte Menge an einer bestimmten Tankstelle). Implementieren Sie Konstruktor und Destruktor. Mit dem Erzeugen eines Autos soll sein Verbrach festgelegt werden.

    2. Entwerfen Sie außerdem eine Klasse Tankstelle mit den Attributen Tankinhalt, der Methode gibt_aus (eine bestimmte Menge) sowie Konstruktor und Destruktor.

    Da ich bisher noch nie mit Klassen gearbeitet habe, wäre ich für jede hilfe dankbar.., denn ich komm da echt nicht weiter und die Bespiele in den Büchern sind auch nicht wirklich hilfreich.

    Ich danke euch schonmal im voraus..

    Parksu



  • Bin zwar nicht so fit in Sachen C++, aber so in der Art solltest du da rangehen:

    public class Auto {
    	private kmStand;
    	private tankinhalt;
    	private verbrauch;
    
    	public void faehrt(int strecke) {
    		/* ... */
    	}
    
    	public void tanken(int menge) {
    		/* ... */
    	}
    
    	Auto(int verb) {
    		/* ... */
    	}
    
    	~Auto() {
    		/* ... */
    	}
    }
    

    Für die Aufgabe wäre es schon mal nicht schlecht zu wissen, was Konstruktor und Destruktor machen. Aber ich gehe mal davon aus, dass dir das bekannt ist...
    Wobei mir nicht ganz klar ist, warum du hier den Destruktor implementieren sollst bzw. was er für eine Funktion erfüllen sollte. Aber egal...
    Was die Methoden im einzelnen erledigen darfst du dir aber selber überlegen 😉

    Mfg



  • Hi, erstmal danke feur deine Antwort.., sry das was ich gepostet habe, war nicht die ganze Aufgabe... hab nur nen Teil gepostet. Den Rest kann ich auch mal Posten!

    3. Die Destruktoren beider Klassen sollen den Zustand des jeweiligen Objekts am Bildschirm ausgeben.
    4. Entwerfen und implementieren Sie ein C++ Anwendungsprogramm, dessen Logik in einer weiteren Klasse steckt und das mit verschiedenen Tankstellen und Autos die realisierten Methoden benutzt.

    Sry war mein Fehler!

    Ich werde mein Glück mal versuchen, wäre aber von weiteren Tipps bzw. Hilfe nicht abgeneigt. 🙂

    Parksu



  • wieso nicht einfach

    public:
    ...
    
    private:
    


  • Das wird dann wohl soetwas in die Richtung

    class gas_station_t {
        private:
                    unsigned long m_fuel;
    
        public:
            gas_station_t( ) : m_fuel( 100000 ) { };
            ~gas_station_t( );
    
            void sell_gas( unsigned short amount ) {
    
                m_fuel -= amount;
            }
    };
    
    class car_t {
        private:
            unsigned long m_odometer;
            unsigned short m_fuel;
            unsigned float m_consumption;
    
        public:
            car_t( unsigned float consumption ) : m_consumtion( consumption ) { };
            ~car_t( );
    
            void drive( unsigned long distance ) {
    
                m_odometer += distance;
                m_fuel -= ( distance * m_consumtion );
            }
    
            void refuel( const gas_station_t &gas_station, unsigned short amount ) {
    
                gas_station.sell_gas( amount );
                m_fuel += amount;
            }
    };
    

    Fehlerbehandlung nicht vergessen 😉 Für die Ausgabe würde es sich anbieten, den operator<< für car_t und gas_station_t zu überladen (➡ Example: Overloading <<).

    Greetz, Swordfish



  • Frage:
    Du hast eine Aufgabe aus einem Buch die Klassen verwendet und aber du selbst nicht weißt was Klassen sind. Lese deshalb erstmal in dem Buch nach was Klassen überhaupt bezwecken.

    Falls diese Beispiele wirklich nichts taugen, such mal mit der Suchmaschine deiner Wahl nach "Tutorials C++ Klassen" :xmas1: .

    MfG Spacemuck



  • Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Log in to reply