ICH brauche dringent HILFE zu Klassen



  • ich habe eine Klasse Video, mit der Videos in einer Vidiothek dargestellt werden können Modelliert. Jetzt habe ich ein problem, wenn ich das programm mit dem compiler durchgehe, startet er das programm nicht und meldet mir ein Fehler

    ich habe ein neuse projekt mit devcpp erstelt,
    in "video.h" steht:

    #include <string> 
    
    class video{
          private:
                 std::string titel;
                 int min;
                 int number;
                 bool availabel;
                 int id;
    
          public:
                 video(std::string _titel, int _min);
                 ~video();
                 void print();
                 void ausleihen(int _id);
                 bool vorhanden();
                 int getID();
                 void abgabe;              
    };
    

    in "aufgabe.cpp" steht:

    #include"video.h" 
    #include <iostream> 
    #include <string>
    using namespace std;
    
    static int cnt = 0;
    
    video::video(string _titel, int _min)
    {
    	cnt +=1;
    	title= _title;
    	min= _min;
    	number = cnt;
    	available = true;
    	id = 0;
    }
    
    video::~video(){}
    
    void video::print(){
         cout << titel << endl;
         cout << "Filmdauer: " << min << endl;
         cout << "Inventarnummer: " << number << endl;
         cout << "Ausleihbar: " << available << endl << endl;
    }
    
    void video::ausleihen(int _id){
         if(available == true){
                      id=_id;
                      available= false;
         }else cout << "Buch bereits ausgeliehen!" << endl << endl;
    }
    
    void video::vorhanden(){
         return available;
    }
    
    void video::getID(){
         return id;
    }
    
    void video::abgabe(){
         id = 0;
         available = true;
    }
    
    int main(){
        video *action = new video("Fluch der Karibik", 120);
    	video *horror = new video ("Freitag der 13.", 102);
    
        action->print();
        action->getID();
        horror->print();
        horror->getID();
    
        action->ausleihen(1205684);
        action->ausleihen(5698735);
        action->print();
        cout << "Fluch der Karibik ausgeliehen von:" << action->getID() << endl;
    
        action->abgabe();
        action->ausleihen(5698735);
        cout << "Fluch der Karibik ausgeliehen von:" << action->getID() << endl;    
    
        system("pause");
        return 0;
    }
    

    /edit pumuckl: cpp-Tags. Nächstemal bitte selber machen!



  • cyberWolf schrieb:

    wenn ich das programm mit dem compiler durchgehe, startet er das programm nicht und meldet mir ein Fehler

    Und zwar?



  • und nebenbei der artikel zu dev-cpp sollte dir auch "helfen"



  • Bitte verwende die [cpp]-tags.
    Ansonsten fällt mir auf dass du viele Zeichendreher hast, speziell title<->titel.
    Aber das sagt dir doch der Conpiler mit seiner Fehlermeldung - die du IMMER mitposten MUSST!
    Und außerdem solltest du dev-cpp nicht mehr verwenden - unmaintained.
    Schau dir code::blocks an.



  • der fehler lautet:
    In file included from aufgabe.cpp



  • - Was soll "void abgabe;"? Zu einer Funktion gehört auch eine Parameterliste in runden Klammern.

    - title im Konstruktor ist unbekannt, weil du die Variable titel genannt hast (ungefähr gleich schreiben reicht leider nicht 😉 ). Das gilt auch für den Parameter _titel (nicht _title).

    - Dasselbe bei available. In der Klasse hast du availabel geschrieben.

    - Du kannst nicht "bool vorhanden()" deklarieren und dann "void vorhanden()" definieren.

    usw... jede Menge Flüchtigkeitsfehler, würde ich sagen. Du musst einfach gründlicher vorgehen.

    EDIT: Ach ja, zu jedem new/new[] gehört auch ein delete/delete[]!



  • Danake, Ich war einfach zu blöd richtig zu schreiben.
    Jetzt funktioniert es.
    🙂


Anmelden zum Antworten