Для объектов типа statement (пример ниже) оператор плюс будет добавлять указанные символы к текущему содержимому строки. Подобным образом оператор минус будет удалять каждое вхождение указанного символа из строки.
Что мы изучим:
- перегрузку операторов для улучшения удобочитаемости ваших программ, но перегружать операторы следует только в том случае, если это упрощает понимание вашей программы.
- для перегрузки операторов программы используют ключевое слово языка C++ operator.
- переопределяя оператор, вы указываете функцию, которую C++ вызывает каждый раз, когда класс использует перегруженный оператор. Эта функция, в свою очередь, выполняет соответствующую операцию.
Если ваша программа перегружает оператор для определенного класса, то смысл этого оператора изменяется только для указанного класса, оставшаяся часть программы будет продолжать использовать этот оператор для выполнения его стандартных операций.
C++ позволяет перегружать большинство операторов, за исключением четырех.
Перегрузка операторов может упростить наиболее общие операции класса и улучшить читаемость программы. Найдите время для эксперимента с программами, представленными в этом уроке, и вы обнаружите, что перегрузка операторов выполняется очень просто.
Для перегрузки операторов в прототипе и в заголовке функции (метода) класса используется ключевое слово operator, после которого указывается символ перегружаемого оператора.
Пример
#include<iostream.h>
#include<string.h>
class sum
{private:
char word[256] ;
public:
sum (char *); //конструктор
void operator +(char *) ; //перегружаемый оператор +
void show_sum(void);
};
sum: : sum( char * line)
{strcpy(word, line); }
void sum: : operator +(char *line)
{strcat(word,line); } //присоединение line к word
void sum::show_sum(void)
{cout«word«endl;}