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

LetMeFun

New member
20.12.2013
1
0
#1
Здравствуйте!
Сложилась такая ситуация. Обнаружил в чужом коде перегрузку оператора вызова функции () и не могу понять, какие приемущества его использования (объясните плиз, если таковые конечно есть). Ведь интуитивно не понятно, что за операция может выполняться при его вызове. Скажу сразу, что до недавнего времени долго программировал исключительно на Java. И хочу сказать, что после Java перегрузка дынного оператора выглядит особенно дико.
 
W

Whatka

#2
Для повышения удобочитаемости ваших программ и облегчения их понимания.
Пример(простой)
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);
//...
}
//