Objektorientierte Bücherverwaltung. Klasse + Objekte erstellt.



  • Hallo,

    ich habe schon alles durchforstet, aber ich finde keine einfache beschreibung meines problems. ich denke für euch ist das ein kinderspiel 😉 ich bin nämlich c++ neuling. meine Aufgabe besteht darin eine objektorientierte Verwaltung für Bücher zu schreiben. Benutze den QT Creator under Linux. Meine klasse Bücher sieht so aus:

    class Buch {
    
    private:
    
        std::string myTitel;
        ....
        std::string myFach;
    
    public:
        Buch():
          myTitel(""), myAutor(""), myVerlag(""), myISBN(""), myPreis(""), myFach("")
    
        {
        }
    
        Buch(std::string titel, std::string autor, std::string verlag, std::string ISBN, std::string preis, std::string fach):
          myTitel(titel), myAutor(autor), myVerlag(verlag), myISBN(ISBN),  myPreis(preis), myFach(fach)
    
        {
        }
    
        std::string titel()  { return myTitel; }
        ....
        std::string fach()  { return myFach; }
    };
    
    std::ostream& operator<<(std::ostream& out, Buch& b){
        out<<left<<setw(35)<<b.titel()<<" | "<<setw(15)<<b.autor()<<" | "<<setw(15)<<b.verlag()<<" | "
    <<setw(17)<<b.ISBN()<<" | "<<setw(10)<<b.preis()<<" | "<<setw(5)<<b.fach();
        return out;
    }
    

    in meiner main kann ich einfach ein buch erstellen und es mir ausgeben lassen. Funktioniert soweit.

    Buch b1("Basiswissen Wirtschaftsinformatik", "Dr. Thomas Lux", "w3l", "978-3-86834-032-7", "15€", "WI");
    

    Nun zu meinem Problem: von mir wird gefordert einige Funktionen zu implementieren. Denke mal Buch hinzufügen, löschen und ändern.

    Ich kriege es nicht hin ein Buch zu erstellen. Habe eine Eingabe für Titel, Autor, usw.. erstellt und möchte dies in ein neues Buch b2 schreiben. Klappt leider nicht. Habe ich denn überhaupt den richtigen Gedanken, dass so zu machen?
    Bevor ich das neue Objekt erzeuge muss ich es doch zuerst mit Daten bestücken oder nicht ?

    Für ein paar hilfreiche Tipps wäre ich mehr als dankbar 🙂

    mfg
    fab



  • wenn du bücher irgendwo hinzufügen oder löschen willst, brauchst du ja erstmal was, in dem mehrere bücher gespeichert werden. hierfür kannst du zum beispiel einen std::vector nehmen und den einfach in deiner main-funktion erstellen und mit büchern befüllen, dann kannst du da auch wieder bücher raus löschen. ich denke mal aber, dass der aufgabensteller will, dass du den vector in einer weiteren klasse kapseln sollst.
    Beispiel:

    class buecherregal
    {
        std::vector<buch> regal;
    public:
        ...
    
        void buchHinzufuegen(const buch& b); // fügt ein buch ein
        void buchLoeschen(cosnt std::string& titel); //löscht das buch mit dem titel, der übergeben wird
        ...
    };
    

    so in etwa könnte dann die klasse aussehen, die die bücher verwaltet. hier natürlich jetzt sehr unvollständig.



  • fab# schrieb:

    in meiner main kann ich einfach ein buch erstellen und es mir ausgeben lassen. Funktioniert soweit.

    Buch b1("Basiswissen Wirtschaftsinformatik", "Dr. Thomas Lux", "w3l", "978-3-86834-032-7", "15€", "WI");
    

    [...]

    Ich kriege es nicht hin ein Buch zu erstellen.

    Du hast doch hier ein Buch (bl) erstellt?!



  • danke, dass mir dem regal hat mir richtig geholfen 👍 nachdem ich mein prof. drauf angesprochen habe, hab ich ein paar kleine tipps bekommen 😉 schönen dank!


Anmelden zum Antworten