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

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

Войти
Регистрация
Восстановить пароль
 
HappyFanik
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 39
#1

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

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

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

Перегрузите операции суммы, скалярного произведения, модуля.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 19:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перегрузка операции (C++):

Перегрузка операции [] - C++
Добрый день. Столкнулся с недопониманием, странной ошибкой. #include <iostream> #include "windows.h" class Array { int...

Перегрузка операции % - C++
Как перегрузить операцию % в с++?

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

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

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

Перегрузка операции >> - C++
Добрый день! Решил сделать класс с перегруженными операциями ввода и вывода, с выводом все в порядке, но с вводом не получается никак. При...

5
Mortemia
2 / 2 / 1
Регистрация: 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
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
25.05.2012, 19:27 #3
вам нужно перегрузить операции или функции?
0
HappyFanik
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 39
25.05.2012, 19:36  [ТС] #4
Операции перегрузить надо!
0
antoha398
155 / 155 / 3
Регистрация: 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
MrGluck
Модератор
Эксперт CЭксперт С++
7488 / 4603 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
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
25.05.2012, 20:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2012, 20:06
Привет! Вот еще темы с ответами:

Перегрузка операции + - C++
Всем привет! Ребята, обясните, пжлста, почему конструктор вызывается дважды. Rational integer1( c, d ),h;// инициализация h ( здесь...

Перегрузка операции >> - C++
Здравствуйте. Возник такой вопрос: возможни ли перегрузить оператор >> так, чтобы пользователь мог вводить с клавиатуры время в формату...

Перегрузка операции = - C++
Здравствуйте, в программе вылезает такая ошибка MainUnit.cpp(86): E2034 Cannot convert 'string' to 'UnicodeString' в связи с этим...

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


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

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

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