Frage

Ich weiß, wenn ich etwas tun, wie folgt aus:

class Obj
{
public:
    int* nine;
};

Obj Obj1; //Awesome name
int eight = 8;
Obj1.nine = &eight;
Obj Obj2 = Obj1; //Another Awesome name

dann Obj1 ist und Obj2 des nines auf demselben 8 Punkt, aber werden sie die gleichen Zeiger teilen? Das heißt:.

int Necronine = 9;
Obj1.nine = &Necronine;
Obj2.nine == ???

wird Obj2 Punkt des nine Necronine, oder bleibt es bei 8 zeigen?

War es hilfreich?

Lösung

  

wird Obj2 neun Punkt Necronine,   oder bleibt es bei 8 zeigen?

Es bleibt bei 8 Hinweis Wenn diese Zeile ausgeführt wird: Obj Obj2 = Obj1; // Jedes Objekt hat seinen eigenen Zeiger die value(copy) von obj1.nine in obj2.nine kopiert und das ist es.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top