Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
1

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

30.06.2014, 14:46. Показов 565. Ответов 3
Метки нет (Все метки)

Вопрос следующий интересует: При перегрузке унарных операторов как френд-функций сколько используется параметров? Также при перегрузке ун.операторов как методы класса сколько параметров?

Добавлено через 23 секунды
При перегрузке бинаных операторов, всегда 2 параметра?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2014, 14:46
Ответы с готовыми решениями:

Использование функций-членов для перегрузки унарных операторов
Добрый день уважаемые коллеги. Возник вопрос. как работают эти строки? three_d...

Ошибка при перегрузке операторов.
Здравствуйте! Возникла необходимость создать свой класс-обертку для работы с большими числами....

Конфликт при перегрузке операторов
Здравствуйте ,изучаю C++ и делая очередное задание столкнулся с проблемой (привожу код ниже)...

Ошибка при перегрузке операторов
public struct kletka { public int X, Y; } kletka kl; ...

3
7158 / 6133 / 2801
Регистрация: 14.04.2014
Сообщений: 26,455
30.06.2014, 14:50 2
У friend будет на 1 параметр больше.
0
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
30.06.2014, 15:00  [ТС] 3
это вы о перегрузке унарных операторов как френд? 2 параметра?
0
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,040
30.06.2014, 15:17 4
Цитата Сообщение от Спайдермэн Посмотреть сообщение
При перегрузке унарных операторов как френд-функций сколько используется параметров?
пример:
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2014, 15:17

Ошибка при перегрузке операторов
#include <stdio.h> #include <conio.h> class fraction { public: int numerator; int...

Ошибки при перегрузке операторов
Ну не могу,не получается самостоятельно разобрать свои ошибки(( Они по большей части повторяются....

Ошибка при перегрузке операторов в классе
Я создал класс myNVector для работы с векторами произвольного размера: в заголовочном файле: ...

При перегрузке операторов не записывает значение
Собственно вот мой код: class.h class Otrezku { public: Otrezku(); Otrezku(float , float ,...

Ошибки при перегрузке операторов класса
Задали в универе для класа триугольника с полями 3х сторон реализовать перегрузку операторов <<,...

Можно ли при перегрузке операторов задавать дополнительные параметры?
Здравствуйте. Мне в функции перегрузки оператора нужно передать дополнительный параметр, можно ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru