Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

ИО Капитана Очевидности


Contributor


Сообщения: 5387
Благодарности: 1105

Профиль | Отправить PM | Цитировать


Цитата Oleg_SK:
Если не углубляться в реализацию классов, то может создаться впечатление что у каждого объекта класса имеется своя копия набора методов этого класса. »
Цитата Oleg_SK:
В списке есть множество узлов и соответственно множество идентичных по коду методов. Таким образом создается впечатление, что лично себя метод Insert не вызывает, а вызывает свою копию в следующем узле списка, которая в свою очередь может вызвать очередную свою копию в следующем узле списка и т.д. »
Обычный "метод класса" - это обычная функция, которая содержит неявный параметр this (указатель на самого себя). Данный указатель используется для обращения к полям объекта и подставляется в вызовы других методов этого же объекта. А "статичный метод" (static) - это функция без параметра this. Как следствие, из неё можно обращаться только к статичным полям (которые общие для всех объектов данного класса) и вызывать другие статичные методы.

Как следствие, в рассматриваемой ситуации имеем N вложенных (рекурсивных) вызовов функции с разными значениями параметра this

-------
Самое совершенное оружие, которым забиты арсеналы богатых и процветающих наций, может легко уничтожить необразованного, больного, бедного и голодного. Но оно не может уничтожить невежество, болезнь, нищету и голод. (Фидель Кастро)

Почему всех осужденных за измену Родине при Сталине реабилитировали при Горбачёве по отсутствию состава преступления? Потому что при Горбачёве измену Родине перестали считать преступлением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:37, 10-12-2009 | #10