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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Форматированный вывод чисел? http://www.cyberforum.ru/cpp-beginners/thread1846071.html
в результате перемножения элементов матрицы С (скрин) выводится след. число (объявленное как double), как можно привести к какому-нибудь обычному виду, как на калькуляторе (на телефоне пересчитал =...
C++ Проверить признак делимости на 11 Задача. Число делится на 11, если разность между суммой цифр, стоящих на нечетных местах, кратна 11. Проверить этот признак для всех натуральных чисел, значение которых не превосходит заданного m, и... 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; }... подробнее

Показать сообщение отдельно
Atakai
C++ n00b
68 / 26 / 13
Регистрация: 23.10.2015
Сообщений: 135
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) {
  // ...
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru