Vektorklasse?

1 Antwort

Das erste, was du wissen musst, ist, was ein Vektor ist, was er macht und wie er ungefähr funktioniert.

Eine Definition lässt sich glücklicherweise auf vielen Webseiten finden. Eine Definition von GeeksforGeeks:

Vectors are same as dynamic arrays with the ability to resize itself automatically when an element is inserted or deleted, with their storage being handled automatically by the container. Vector elements are placed in contiguous storage so that they can be accessed and traversed using iterators. In vectors, data is inserted at the end. Inserting at the end takes differential time, as sometimes there may be a need of extending the array. Removing the last element takes only constant time because no resizing happens. Inserting and erasing at the beginning or in the middle is linear in time.

Quelle

Das heißt, du kannst für deine eigene Vektorklasse ebenso intern ein Array verwenden, welches du mit deinen Methoden verwaltest. Wenn ein Nutzer der Klasse bspw. ein Element hinzufügt, übernehmen deine Methoden diese Aufgabe. Dabei könnte es auch notwendig sein, das Array zu vergrößern. Der Nutzer sollte sich mit diesen Problemen nicht mehr auseinandersetzen müssen.

Auf der verlinkten Quelle findest du auch eine Auflistung der Methoden, die für so eine Klasse relevant sein könnten. Welche du genau alles implementieren musst, kann ich dir nicht sagen. Vielleicht wurde es dir schon vorgegeben. Als Mindestmaß sollte allerdings das Hinzufügen, Entfernen und Ausgeben von Elementen möglich sein.

Für die Implementation würde ich empfehlen, zu jeder geplanten Methode erst einmal einen Programmablaufplan anzulegen und erst danach den konkreten Code zu entwickeln.

Was aber auch sein könnte: Das ein Vektor gemeint ist, wie er aus der Geometrie bekannt ist. In dem Fall würde wohl eine Klasse mit drei Feldern ausreichen, sowie ein paar Methoden zur Definition / zum Herausgeben der einzelnen Werte.

Wenn du dir selbst nicht sicher bist, frage deinen Auftraggeber noch einmal.

Was möchtest Du wissen?