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

Перегрузка операторов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Форматированный вывод чисел? http://www.cyberforum.ru/cpp-beginners/thread1846071.html
в результате перемножения элементов матрицы С (скрин) выводится след. число (объявленное как double), как можно привести к какому-нибудь обычному виду, как на калькуляторе (на телефоне пересчитал = 191,102,976) ну, можно не все цифры прям, но без экспоненты вот этой вот. Добавлено через 6 минут http://i.imgur.com/ANiXaSB.png
C++ Проверить признак делимости на 11 Задача. Число делится на 11, если разность между суммой цифр, стоящих на нечетных местах, кратна 11. Проверить этот признак для всех натуральных чисел, значение которых не превосходит заданного m, и показать числа, кратные 11. http://www.cyberforum.ru/cpp-beginners/thread1846069.html
Как правильно передать объект в функцию при использовании многопоточности C++
Добрый день, форум! Возникла вот такая задача: Есть два класса: класс А, реализующий интегрирование функции, и класс В, реализующий в себе функцию для интегрирования. Необходимо создать два объекта класса А, передать в них один и тот же объект класса В, но с разными начальными условиями, и используя многопоточность произвести расчеты. В чем собственно вопрос: Как, имея один объект класса...
C++ Найти все совершенные числа в заданном интервале
Задача. Натуральное число называется совершенным, если оно равно сумме всех своих простых делителей, например 6 = 1 + 2 + 3. Найти все совершенные числа в заданном интервале.
C++ Как написать программку на С++ http://www.cyberforum.ru/cpp-beginners/thread1846055.html
C++ Исправить ошибку "expected primary-expression before 'int'" У меня есть простая функция в классе func1(int i) и я пытаюсь написать следующую функцию: void * myClass::func2(void * arg){ ( static_cast< myClass* >( arg ) ) -> func1(int i); return NULL; } компилятор выдает ошибку: expected primary-expression before 'int' подробнее

Показать сообщение отдельно
Atakai
58 / 14 / 7
Регистрация: 23.10.2015
Сообщений: 45
09.11.2016, 12:23     Перегрузка операторов
Перегрузку операторов класса вы делаете для экземпляра (объекта) этого класса. У пространств имен не может быть экземпляров.

Если Вы имели ввиду делать перегрузку не в объявлении, а определении класса, тогда можно:
C++
1
2
3
4
5
6
7
8
class Sample {
  Sample operator+(Sample arg, Sample arg2);
};
 
Sample Sample::operator+(Sample arg, Sample arg2)
{
  //...
}
Но все равно перегрузку сначала нужно будет объявить.

Еще можно использовать функции-друзья.
C++
1
2
3
4
5
6
7
class Sample {
  friend Sample operator+(Sample arg, Sample arg2);
};
 
Sample operator+(Sample arg, Sample arg2) {
  // ...
}
 
Текущее время: 20:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru