Anfänger C++ Programmierer hier. Sagen wir, ich habe eine Klasse Outer mit einer verschachtelten Klasse Inner. Inner enthält ein Zeigerelement, das während der Konstruktion festgelegt wurde, nach Outer. Outer enthält eine Funktion AddNewInner(), die ein neues Inneres erstellt, das auf sich selbst zeigt und es einem Vektor hinzufügt.Wie kopiere ich eine Instanz einer Klasse mit einer geschachtelten Klasse, die ein Zeigerelement in der äußeren Klasse enthält?
Das funktioniert gut, wenn Sie eine neue Instanz von Outer erstellen und AddNewInner() aufrufen, um dem Vektor Inneres hinzuzufügen. Ich bin jedoch auf ein Problem gestoßen, als ich versuche, eine Kopie einer Instanz von Outer zu erstellen: Der Vektor der äußeren Kopie zeigt nicht auf die Kopie (selbst), sondern auf das ursprüngliche Äußere.
Ich brauche den Vektor der Inneren in der Kopie, um auf die Kopie zu zeigen, nicht das Original. Was ist der beste Weg, dies zu erreichen, oder gibt es vielleicht einen alternativen Weg, um das Gleiche zu tun?
Aah ....Sie müssen in Kopierkonstruktoren nachlesen. Google-Kopierkonstruktoren, tiefe Kopie, flache Kopie. Viele Referenzen da draußen. – cplusplusrat