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

Сколько используется параметров при перегрузке унарных операторов как френд-функций? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализация очереди указателей на объект. Очередь реализовать как отдельный класс, предусмотреть все характе http://www.cyberforum.ru/cpp-beginners/thread1219912.html
5. Реализация очереди указателей на объект. Очередь реализовать как отдельный класс, предусмотреть все характерные операции: 1 создать очередь; 2 послать в очередь; 3 проверить, пуста ли очередь;...
C++ Как записать массив структур в файл Ребят всем привет у меня такой вопрос как мне записать #include <iostream> #include <windows.h> #include <iomanip> #include <string.h> #include <fstream> const int... http://www.cyberforum.ru/cpp-beginners/thread1219911.html
C++ Найти все трехзначные числа, у которых нечетные сотни
Даны натуральные числа от 0 до 700. Найти все трехзначные числа, у которых нечетные сотни. C помощью цикла пост условия или предусловия. Должно выводится 100, 300, 500. Не получается сделать с...
C++ Среди чисел на четных местах найти максимум,а среди нечетных найти минимум
Текст полной задачи: С клавиатуры вводится произвольная последовательность целых чисел.Числа вводятся до тех пор,пока пользователь не введет "0". Cреди введенных чисел,стоящих на четных...
C++ Перевести код из Java в C++ http://www.cyberforum.ru/cpp-beginners/thread1219819.html
public class LinearProbingHashST<Key, Value> { private int M = 30001; private Value vals = (Value) new Object; private Key keys = (Key) new Object; private int...
C++ Найти две первые цифры натурального числа Задача Дано натуральное число: найти две первые цифры числа; верно ли, что первая цифра числа четная. var подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
30.06.2014, 15:17
Цитата Сообщение от Спайдермэн Посмотреть сообщение
При перегрузке унарных операторов как френд-функций сколько используется параметров?
пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class a
{
public:
a(int b):x(b){};
friend a& operator++(a& a2)
    {
    a2.x+=1;
    return a2;
    }
a& operator++()
    {
      x++;
      return *this;
    }
int x;
};
смысл в том, что когда перегружается оператор как метод класса, то при компиляции он вызывается как функция, содержащая вызываемый объект, т.е. она содержит вызывающий объект внутри себя, он же - this, когда мы перегружаем оператор через дружественную функцию - то она не имеет понятия ничего о вызывающем объекте, и обращатсья к выз объекту через this нельзя - отсюда и доп аргумент в функции.
В С.Прата в перегрузках это подробно расписано, советую почитать.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru