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

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

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

Показать сообщение отдельно
Сыроежка
Заблокирован
11.10.2011, 18:41     Для чего нужен "operator"?
Цитата Сообщение от 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 ).
 
Текущее время: 06:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru