Dynamische Zuweisung mit DOPPEL-ZEIGER

Ich habe eine base-Klasse, Spielzeug und abgeleitete Klassen Toy_remote_car amd Toy_battery_car.

Ich bin, dies zu tun:

Toy** ptr;
ptr=new Toy*;
ptr[0]=new Toy_remote_car[1];
ptr[1]=new Toy_battery_car[1];/*this is completely wrong according to my teacher because i never created ptr[1]. Instead this is a misuse of memory according to him.*/

Den obigen code(ptr=new Toy*) ist die Schaffung einer einzigen Zeiger vom Typ Spielzeug(ptr[0]) enthält das Objekt der abgeleiteten Klasse Toy_remote_car.

Nun will ich schreiben, wie ein code:

->die Anzahl der Spielzeug-Typ Zeiger sollten nicht vorgegeben werden.

->stattdessen würde ich eine add_toy Funktion, die das schaffen würde, ptr, die zeigen wird, die Art des Objekts, die ich möchte. Außerdem, wenn ich rufen Sie die add_toy wieder funktionieren, sollte es nicht berechtigt, die Daten an die Vorherige ptr, aber es sollte erstellen Sie einen neuen ptr. Die folgende Konvention kann helfen:

ptr[0]=new Toy_remote_car[1];
/*we want to add more toys so add_toy function called. A check is applied.*/
/*The check checks that ptr[0] already contains a value so it creates another pointer ptr[1]*/
ptr[1]=new Toy_battery_car[1];

->desweiteren würde ich in der Lage sein, um Zugriff auf alle bisherigen Daten. Kurz gesagt:

ptr[0]//contains one type of data.
ptr[1]//contains another type.
//and so on

->so würde es automatisch einen Zeiger(ptr) geben Sie Spielzeug, wenn Sie ein neues Spielzeug Hinzugefügt wird.

Ich hoffe ich habe gut erklärt, was ich versuche zu implementieren, die in diesem code.

Bitte bitte helfen Sie mir in dieser Hinsicht.

Dank

warum in der Welt sind Sie auf der Zuweisung von Zeigern auf die gratis-Speicher?!?!

InformationsquelleAutor Rafay | 2011-04-19

Schreibe einen Kommentar