Указатели в методах класса - PullRequest
0 голосов
/ 04 декабря 2018

Как сделать указатель в методе класса, указывающего на объект, к которому вызывается метод?

Я хочу определить указатель в теле открытого метода класса ипусть он указывает на экземпляр объекта, к которому вызывается метод.

Вот мой код для некоторого дополнительного контекста:

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 голосов
/ 04 декабря 2018

Документация this в значительной степени описывает то, что вы ищете:

Ключевое слово this является выражением prvalue , значением которого является адресобъекта, для которого вызывается функция-член .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...