Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 24.05.2018
Сообщений: 11
1

Реализация перегрузки одного оператора для нескольких переменных

14.07.2021, 15:27. Показов 493. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
using namespace std;
 
class A{
public:
    int a,b;
    A(int a){
        this->a=a;
    }
    friend const A  operator+(const A &left,const A &right);
    friend bool  operator==(const A &left,const A &right);
    friend A & operator+=(const A &left,const A &right);
 
int GetA(){
    return this->a;
}
 
};
const A  operator+(const A &left,const A &right){
    return A(left.a+right.a);
}
bool  operator==(const A &left,A &right){
    return left.a==right.a;
}
A& operator+=(A& left, const A& right) {//для а
    left.a += right.a;
    return left;
}
A& operator+=(A& left, const A& right) {//для b не работает , как исправить ?
    left.b += right.b;
    return left;
}
 
int main(){
 
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2021, 15:27
Ответы с готовыми решениями:

Реализация перегрузки оператора (например, +, через др.перегруку, +)
Всем хай! Сходу к делу! У меня вопрос больше по технике кодирования. Есть юзер-класс &quot;Строка&quot;...

Реализация одного класса для нескольких форм
Здравствуйте, столкнулся с проблемой: Делаю простейшую игру. В ней есть несколько уровней. Для...

Должен ли хотя бы один из параметров оператора перегрузки был того же типа, что и тип, в котором этот оператор перегрузки определен
A) В зависимости от перегружаемой операции B) Нет C) Да D) В зависимости от типа, в котором...

Open Watcom нет перегрузки для оператора ввода для типа std::string
Решил использовать компилятор Open Watcom C++ и в результате не компилируется проект. Проект...

2
Модератор
Эксперт С++
 Аватар для zss
13727 / 10923 / 6480
Регистрация: 18.12.2011
Сообщений: 29,157
14.07.2021, 17:25 2
Не совсем понятно, что именно хотелось сделать.
Но у Вас получилось две перегруженные функции с одинаковой сигнатурой
(одинаковые имена и одинаковый список параметров).
Надо что-нибудь изменить.
Например имя:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
using namespace std;
 
class A{
private:
    int a,b;
public:
    A(int a=0,int b=0){
        this->a=a;
        this->b=b;
    }
    friend A  operator+(const A &left,const A &right);
    friend bool operator==(const A &left,const A &right);
    friend A& operator+=(A &left,const A &right);
    friend A& operator*=(A &left,const A &right);
 
    friend ostream& operator<<(ostream& os,const A &right);
 
};
ostream& operator<<(ostream& os,const A &x)
{
    os<<x.a<<' '<<x.b<<endl;
    return os;
}
A  operator+(const A &left,const A &right){
    return A(left.a+right.a,left.b+right.b);
}
bool  operator==(const A &left,const A &right){
    return left.a==right.a && left.b==right.b;
}
A& operator+=(A &left,const A &right) {//для а
    left.a += right.a;
    return left;
}
A& operator*=(A &left,const A &right) {//для b 
    left.b += right.b;
    return left;
}
 
int main(){
    A a1(1,2),a2(3,4);
    cout<<a1+a2;
    cout<<(a1+=a2);
    cout<<(a1*=a2);
    cout<<(a1==a2);
    cin.get();
    return 0;
}
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12812 / 6684 / 1800
Регистрация: 18.10.2014
Сообщений: 16,935
14.07.2021, 18:12 3
Цитата Сообщение от Matt_MAD Посмотреть сообщение
//для b не работает , как исправить ?
О чем речь вообще? Что вы пытаетесь сделать?
0
14.07.2021, 18:12
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2021, 18:12
Помогаю со студенческими работами здесь

Реализация метода Ньютона нескольких переменных
По инструкции, которая прикреплена, реализовать алгоритм метода Ньютона нескольких переменных...

Написать функцию перегрузки оператора инкремента для увеличения переменной типа enum class
Доброго времени суток. Есть перечисление. enum class Month { jan = 1, feb, mar, apr, may,...

Использование перегрузки оператора +
Есть у меня класс CPoint, с конструктором: CPoint::CPoint(float x, float y) { setX(x);...

Ошибка перегрузки оператора
Здравствуйте уважаемые программисты, при созданиии проэкта возникает ошибка In function 'int...

Целесообразность перегрузки оператора
Изначально имелся такой вот метод (пусть будет методом класса &quot;A&quot;): //класс &quot;A&quot;, константная...

Сигнатура перегрузки префиксного оператора
Всем доброго времени суток! Работаю с перегрузкой функций. Столкнулся со следующей проблемой: в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
Компьютер для начинающих
hw_wired 28.01.2025
Введение в мир компьютерных технологий В современном мире информация стала одним из важнейших ресурсов человечества, определяющим развитие общества и технологий. Наша жизнь неразрывно связана с. . .
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru