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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Спайдермэн
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 125
#1

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

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

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

Добавлено через 23 секунды
При перегрузке бинаных операторов, всегда 2 параметра?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 14:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сколько используется параметров при перегрузке унарных операторов как френд-функций? (C++):

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

Ошибка при перегрузке операторов. - C++
Здравствуйте! Возникла необходимость создать свой класс-обертку для работы с большими числами. Бибилиотека mpir=порт GMP. Пример рабочий:...

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5309 / 4629 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
30.06.2014, 14:50 #2
У friend будет на 1 параметр больше.
Спайдермэн
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 125
30.06.2014, 15:00  [ТС] #3
это вы о перегрузке унарных операторов как френд? 2 параметра?
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,997
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 нельзя - отсюда и доп аргумент в функции.
В С.Прата в перегрузках это подробно расписано, советую почитать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2014, 15:17
Привет! Вот еще темы с ответами:

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

Перегрузка унарных операторов - C++
Здравствуйте! В книге Шилдта С++ Базовый курс много примеров по перегрузке операторов. По одному из них у меня вопрос. Перегружаем...

Ошибка при перегрузке функций - C++
Помогите, пожалуйста. Вылетает ошибка floating point stack check на строчке 16 кода (код ниже). Summa.Real=a.Real+b.Real; Не могу понять,...

Перегрузка унарных и бинарных операторов в шаблоне - C++
Доброго времени суток! Недавно столкнулся с проблемой при написании такого шаблона: template <typename T> class CPoint; template...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.06.2014, 15:17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru