类方法中的指针

时间:2018-12-04 08:52:48

标签: c++ class pointers

如何在类的方法中使指向该方法被调用的对象的指针?

我想在类的公共方法的主体中定义一个指针,并使它指向正在调用该方法的对象的实例。

这是我的代码,用于更多上下文:

void Node::print() {
    Node *temp = this; //points to the node that calls the print function

    while (temp->next != NULL) {
        cout << "Name:  " << temp->name << "\tID:  " << temp->ID << endl;
        temp = temp->next; //makes temp->next point to the next node in the list.
    }

    //this line runs when temp->next == NULL
    cout << "Name:  " << temp->name << "\tID:  " << temp->ID << endl;
}

1 个答案:

答案 0 :(得分:7)

this的文档几乎描述了您要寻找的内容:

  

关键字this是一个prvalue表达式,其值是对象的地址,在该对象上调用成员函数