Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Для чего нужен "operator"? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с указателями Организовать ввод динамического массива размером N. Заменить положительные элементы на 1, отрицательные – на -1. http://www.cyberforum.ru/cpp-beginners/thread364760.html
Работа с указателями Организовать ввод динамического массива размером N. Заменить положительные элементы на 1, отрицательные – на -1. Пожалуйсто на уровне 3-го курса колледжа
C++ Считывание из файла В общем-то задача таков- считать из файла ВСЁ, ЧТО ТАМ ЕСТЬ, далее это зашифровать и сохранить. Для шифрования выбрал base64, проблем не возникло, но вот при считывание есть малёх. #include... http://www.cyberforum.ru/cpp-beginners/thread364756.html
Использование алгоритмов STL C++
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо вам! 1) Дана последовательность целых чисел. Определить,...
C++ STL
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного своего времени, очень прошу. Заранее огромное спасибо вам! 1) Дана последовательность целых чисел. Определить,...
C++ Вычислить сумму ряда с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. http://www.cyberforum.ru/cpp-beginners/thread364753.html
9. Вычислить сумму ряда (-1)в степени 3n/3n! с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. Добавлено через 4 минуты И пожалуйсто на уровне 3-го курса колледжа ...
C++ Cоседи элемента целочисленной матрицы помогите написать прогу в С++: использовать динамический массив. При необходимости заполнения массива предусмотреть два способа: ввод с клавиатуры и заполнение с помощью датчика случайных чисел. В... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
11.10.2011, 18:41
Цитата Сообщение от bearwoolfs Посмотреть сообщение
Вот такой пример :
One One::operator+=(One & rhs)
{

*itsA+=rhs.Get();
return *this;
}

Вообще ну ни как не могу догнать для чего нужен этот operator и что не правильно в этом примере при сумирование ??? Спасибо
Для встроенных типов, как, например, типа int, вы можете писать арифметические выражения вида

C++
1
2
3
4
int x = 10;
int y = 5;
 
x += y;
Очевидно, что для типов, определенных пользователем, таких встроенных арифметических операций нет, так как компилятор не знает, что вы имеете в виду для своего определенного типа под оператором +=. Чтобы можно было этот оператор использовать с определенными пользователем типами, как, например, с типом One из вашего примера, вам позволяется самому задать определение операции += для типа One. Это и делается в приведенном вами коде. Поэтому если у вас есть переменные типа One x и y, то для них, как и для встроенных типов, вы можете написать выражение

C++
1
x += y;
Когда компилятор встретит в коде эту строчку, он заменит ее на вызов определенной вами функции-оператора x.operator +=( y ).
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru