C++ Regentropfen (Klassen)



  • Würde mich freuen wenn mir jemand helfen könnte die klassen zu implementieren, denke das main notebook sollte dann kein problem mehr sein aber verstehe einfach nicht wie ich die klassen dafür implemetieren soll.

    • Die Klasse Drop
      liegt in einer eigenen Datei "Drop.hpp" vor,

    • implementiert einen Tropfen als Kreis,

    • hat Variablen für folgende Eigenschaften:
      Kreis als Circle-Objekt,
      x-Koordinate des Kreises,
      y-Koordinate des Kreises,
      Radius des Kreises,
      Zeiger auf einen nächsten Drop,

    • hat mindestens einen Konstruktor für einen neuen Tropfen und

    • erfüllt das Prinzip der Kapselung.

    • Die Klasse DropList
      liegt in einer eigenen Datei "DropList.hpp" vor,

    • implementiert eine einfach verkettete Tropfen-Liste, deren Verkettung über ein "next"-Attribut in der Klasse Drop umgesetzt wird,

    • besitzt folgende Attribute:
      Zeiger auf ein aktuelles Element,
      Zeiger auf das erste Element der Liste,
      Zeiger auf das SVG, auf dem gezeichnet wird,

    • implementiert ggf. einen Dummy-Drop, um die Verzeigerung umzusetzen und
      verwendet keine anderen Klassen außer Drop, insbesondere nicht die Datenstrukturen List, Queue, Stack, Vector, etc..

    Das Jupyter Notebook main.ipynb
    implementiert folgende Funktionalität:

    • es wird ein SVG erzeugt,

    • es wird eine Tropfen-Liste erzeugt,

    • beim Klick auf eine beliebige Stelle im SVG wird dort ein neues Objekt der Klasse Drop erzeugt, das als Kreis dargestellt wird und mit dem Radius 0 beginnend immer größer wird,

    • wenn ein Objekt der Klasse Drop den Bildrand erreicht, soll dieses nicht mehr größer werden, aber in einer zufälligen Farbe gefärbt werden und einen breiteren Rand bekommen,

    • das Programm soll durch das Drücken einer beliebigen Taste beendet werden können.


  • Mod



  • @SeppJ sagte in C++ Regentropfen (Klassen):

    Du brauchst Hilfe?

    Falscher Text. Das heißt:

    "Ja Masa! Danke Masa!
    Danke daß ich Ihre Hausaufgaben erledigen darf Masa!"



  • Warum soll ein Drop denn einen Zeiger auf den nächsten Drop haben? Das klingt für mich gerade nicht nach sinnvoller Kapselung. Die Drop-Liste sollte von einem Container verwaltet werden.



  • @wob ist halt wieder eine sinnlose Übungsaufgabe, die verkettete Listen implementieren will, bevor die Nutzung von Standard Containern gelehrt wird.


  • Mod

    @Schlangenmensch sagte in C++ Regentropfen (Klassen):

    @wob ist halt wieder eine sinnlose Übungsaufgabe, die verkettete Listen implementieren will, bevor die Nutzung von Standard Containern gelehrt wird.

    Teil einer verketteten Liste zu sein ist keine innere Eigenschaft eines Regentropfens.



  • @SeppJ Habe ich auch nicht behauptet. Behauptet noch nicht Mal die Aufgabe.
    Tatsächlich will die Aufgabe nicht mal, dass ein Tropfen einen Zeiger auf einen anderen Tropfen hat.
    Das einzige, was gefordert ist, ist dass die Liste eine selbst implementierte einfach verkettete Liste ist. Bis auf den Namen der Klasse spricht nichtmal was dagegen, dass generisch zu lösen.



  • @Schlangenmensch sagte in C++ Regentropfen (Klassen):

    @SeppJ Habe ich auch nicht behauptet. Behauptet noch nicht Mal die Aufgabe.
    Tatsächlich will die Aufgabe nicht mal, dass ein Tropfen einen Zeiger auf einen anderen Tropfen hat.

    Steht aber leider so da:

    Die Klasse Drop

    • liegt in einer eigenen Datei "Drop.hpp" vor,
    • implementiert einen Tropfen als Kreis,

    hat Variablen für folgende Eigenschaften:

    • Kreis als Circle-Objekt,
    • x-Koordinate des Kreises,
    • y-Koordinate des Kreises,
    • Radius des Kreises,
    • Zeiger auf einen nächsten Drop,

    Und Die Liste:

    • Die Klasse DropList
      liegt in einer eigenen Datei "DropList.hpp" vor,

    • implementiert eine einfach verkettete Tropfen-Liste, deren Verkettung über ein "next"-Attribut in der Klasse Drop umgesetzt wird,



  • @firefly Argh... OK, ich nehme alles zurück. Da habe ich offenbar gelesen, was ich lesen wollte


  • Mod

    @Schlangenmensch sagte in C++ Regentropfen (Klassen):

    @firefly Argh... OK, ich nehme alles zurück. Da habe ich offenbar gelesen, was ich lesen wollte

    Gutes Zeichen für dich, wenn du unterbewusst automatisch korrekt modellierst 😃



  • Schlimm, wie stetig hahnebüchene Übungsaufgaben mit verketteten Listen generiert werden und man hinterher fast niemals mehr eine Liste braucht 😃


Anmelden zum Antworten