Перегрузка Оператора Вызова Функции

Тема в разделе "Общие вопросы по С и С++", создана пользователем LetMeFun, 20 дек 2013.

  1. LetMeFun

    LetMeFun New Member

    Регистрация:
    20 дек 2013
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте!
    Сложилась такая ситуация. Обнаружил в чужом коде перегрузку оператора вызова функции () и не могу понять, какие приемущества его использования (объясните плиз, если таковые конечно есть). Ведь интуитивно не понятно, что за операция может выполняться при его вызове. Скажу сразу, что до недавнего времени долго программировал исключительно на Java. И хочу сказать, что после Java перегрузка дынного оператора выглядит особенно дико.
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Для повышения удобочитаемости ваших программ и облегчения их понимания.
    Пример(простой)
    Код (C++):
    //
    class Matrix //класс работы с матрицами
    {
    public:
    //...
    double operator ()(int, int); //доступ к элементам матрицы по индексам
    };

    double Matrix::operator() (int i, int j)
    {
    //...
    }

    int main (void)
    {
    Matrix A;
    double some;
    //...
    some = A(3,4);//приятнее чем допустим какое-нибудь some=A.getElem(3,4);
    //...
    }
    //
     
Загрузка...

Поделиться этой страницей