Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Ich habe die Klasse

class Test
{
public:
Test *b;
int a;
};[/PHP]

und meine Funktion

[PHP]void main()
{
Test wurzel;
int i=0;

while(i<10)
{
????
}
}

Was muss ich nun in die while Schleife schreiben wenn ich möchte, das er mir insgesamt 10 Objekte vom Typ Test erstellt, und wobei b immer die Adresse des folgenden Objektes bekommt.

Ich weiß ich kann mit wurzel.b = new Test; ein neues Test objekt dynamisch erstellen. Aber wie muss ich da weiter vorgehen?

Bine

Äh, in der while Schleife fehlt aber ganz sicher ein i++, oder?

Bine

Und kannst DU mir auch erklären was da jetzt was tut?

Ist alles noch etwas neu für mich.

Bine

Ich erzeuge einen Zeiger auf Test names pTemp. Diesem weise ich auch gleich einen Wert zu, und zwar die Adresse von wurzel.

Beim ersten Schleifendurchlauf passiert folgendes: Da pTemp auf wurzel zeigt, ist pTemp->b gleichbedeutend mit wurzel.b. In jedem Fall wird ein neues Test erzeugt, und dessen Adresse in wurzel.b gespeichert.

Danach setzt ich pTemp auf einen neuen Wert, nämlich die Adresse des gerade neu erzeugten Objekts. Dadurch wird beim nächsten Schleifendurchlauf die Adresse des neuen Tests nicht in wurzel.b, sondern im zuletzt erzeugten Test gespeichert.

Ok, danke!

Bine

Wenn ich in der Schleife jetzt jeweils dem zu b gehörigen a den Wert von i zuweisen möchte, mache ich das dann so

wurzel.a = i;

Und wenn ich jetzt im Nachhinhein dann auf sagen wir mal das fünfte erzeuge Objekt zugreifen will, wie mache ich das dann? Und wie könnte ich mir z.B. die kompletten a's ausgeben lassen?

Fragen über Fragen und keine Antworten!?!?

Bine

Direkt auf das fünfte a kannst du in der Liste nicht zugreifen, denn jedes Element kennt ja nur seinen Nachfolger... bzw. dessen Adresse...

Da musst du wieder mit ner Schleife ran...

Ich hätte da auch eine kleine Frage am Rande:

Warum beutzt Du nicht die STL? Wenn ich es richtig verstehe, dann soll es eine Verkette Liste werden. Die STL bietet eine Verkette Liste schon an, so daß man das Rad nicht neu erfinden muß.

Der Container findet sich im <list> header.

HTH

Jan

Und wie? Ist die Zuweisung von i an a denn so richtig?

Bine

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.