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

Перегрузка операции

25.05.2012, 19:07. Показов 655. Ответов 5
Метки нет (Все метки)

Всем привет! Помогите сделать пожалуйста задание, а то совсем я не понимаю его

Перегрузите операции суммы, скалярного произведения, модуля.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2012, 19:07
Ответы с готовыми решениями:

Перегрузка операции
Как реализовать код ? "Определить операции над строками :Вставка символа на определенное место...

Перегрузка операции >>
Всем привет! Суть: есть класс, есть объект, есть перегруженная операция >> для ввода полей...

Перегрузка операции []
Добрый день. Столкнулся с недопониманием, странной ошибкой. #include <iostream> #include...

Перегрузка операции
Никак не могу понять как перегрузить оператор. Кучу примеров пересмотрел, но все равно не пойму....

5
2 / 2 / 2
Регистрация: 24.05.2012
Сообщений: 23
25.05.2012, 19:20 2
Просто пишешь по сути одинаковые функции, но принимающие разные типы данных.
Например, одновременно прописываешь функцию
C++
1
int sum(int* A, int* B);
и
C++
1
double sum(double* A, double* B);
При вызове sum программа сама определяет какую из функций необходимо вызвать в зависимости от типов передаваемых данных.
Уж как написать сами функции суммы, скалярного произведения, модуля, надеюсь, очевидно.
0
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
25.05.2012, 19:27 3
вам нужно перегрузить операции или функции?
0
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 39
25.05.2012, 19:36  [ТС] 4
Операции перегрузить надо!
0
156 / 156 / 27
Регистрация: 29.03.2012
Сообщений: 418
25.05.2012, 19:52 5
C++
1
2
3
4
5
6
7
MyClass& operator+(const MyClass& lhs, const MyClass& rhs)
{
   MyClass tmp = lhs;
   tmp.x = tmp.x + rhs.x; //складываешь нужные переменные
   return tmp;
 
}
Операция произведения делается аналогично.
А операции модуль нет в С++.
0
Форумчанин
Эксперт CЭксперт С++
8165 / 5013 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
25.05.2012, 20:06 6
Я так понял слово операция относиться к математическому термину. Тогда нужно перегружать функции. Если же имеется ввиду термин с программирования, то необходимо перегрузить операторы.
Т.к. "модуль" не перегружается, то думаю необходимо работать с функциями. Ну тогда это тривиально.

C++
1
2
3
4
5
6
7
int sum (int a, int b) { return a + b; }
double sum (double a, double b) { return a + b; }
float sum (float a, float b) { return a + b; }
 
int myabs(int a) { return (a > 0 ? a : -a); } 
double myabs(double a) { return (a > 0 ? a : -a); }
float myabs(float a) { return (a > 0 ? a : -a); }
А перегружать скалярное произведение лень.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2012, 20:06

Перегрузка операции
Добрый день, Друзья! Столкнулся с такой проблемой, необходимо сравнить 2 пары чисел, вводимых с...

Перегрузка операции +
Всем привет! Ребята, обясните, пжлста, почему конструктор вызывается дважды. Rational integer1(...

Перегрузка операции >>
Вообщем хочу перегрузить операцию >> и инициализировать с ее помощью класс. Но что-то перемудрил и...

Перегрузка операции
Запрограммировать и протестировать заданную перегруженную операцию, содержащуюся в классе,...


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

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

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