tidak dapat memahami penggunaan parameter ini dalam membuat kelas di c++

class Node {
public:
    int key;
    Node *parent;
    std::vector<Node *> children;

    Node() {
      this->parent = NULL;
    }

    void setParent(Node *theParent) {
      parent = theParent;
      parent->children.push_back(this); // I can't understand this.
    }
};

Dalam fungsi setParent, di parent-›children.push_back(this), mengapa kita meneruskan ini sebagai parameter dan apa fungsinya?


person Gopal Nandan    schedule 15.07.2020    source sumber
comment
ini pada dasarnya adalah penunjuk ke objek pemanggil.   -  person kesarling    schedule 15.07.2020
comment
Apakah ini menjawab pertanyaan Anda? Apa yang dimaksud dengan penunjuk 'ini'?   -  person xavc    schedule 15.07.2020
comment
Apakah ini menjawab pertanyaan Anda? Apa yang dimaksud dengan penunjuk 'ini'?   -  person kesarling    schedule 15.07.2020


Jawaban (1)


Pointer this adalah pointer ke objek yang fungsi anggotanya sedang dijalankan. Baris kode tersebut menambahkan this node ke vektor anak induknya. Itu masuk akal karena this node adalah salah satu anak induknya.

person David Schwartz    schedule 15.07.2020