пятница, 29 октября 2010 г.

30. Перечислите особенности перегрузки операций как методов класса. Чем отличается перегрузка внешним образом от перегрузки как метода класса?

  • Первый параметр оператора опускается, им становится экземпляр класса (this).
  • Его можно сделать константным методом.
  • У него имеется доступ к не-public членам.
  • Оператор можно сделать виртуальным.
Этим и отличается.

2 комментария:

  1. Я думаю стоит упомянуть о операторах [] () и -> которые могут быть перегружены только как методы класса

    ОтветитьУдалить
  2. Согласен с предыдущим комментарием. Для полноты поправки добавлю, что вместе с перечисленными тремя операторами нельзя перегружать внешними функциями оператор = и операторы преобразования.

    ОтветитьУдалить

Можно использовать теги <b>, <i>