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

Оператор суммирования (классы, перегрузка операторов) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Оптимизация функции двух переменных http://www.cyberforum.ru/cpp-beginners/thread881133.html
Доброго времени суток! Помогите пожалуйста решить задачу: Дана функция -2*x*x+3*x*y-5*y*y+3*y, нужно её оптимизировать Я вот вроде как методом градиента делаю, но программа зацикливается(читал - по всей видимости, у меня "овраг") Как с этим бороться? #include <stdio.h> #include <conio.h> #include <math.h>
C++ Зацикливание при вводе из файла требуется ввести из файла в вектор данные типа float. программа зацикливается при выводе целой части вещественного числа. #include "stdafx.h" #include <iostream> #include <fstream> #include <vector> using namespace std; class buff { http://www.cyberforum.ru/cpp-beginners/thread881127.html
C++ вставить в двумерный массив операцию подсчета (+) и (-) элементов
массив : #include <iostream> #include <iomanip> #include <algorithm> #include <ctime> #include <random> #include <stdio.h> int main() {
Вычислить разницу элементов массива, что расположены между первым отрицательным та вторым положительным элементами C++
Всем привет,ребят подкорректируйте пожалуйста ф-цию,то работает не правильно :cry: Вот задание: Вычислить разницу элементов массива, что расположены между первым отрицательным та вторым положительным элементами template <typename T> inline int MASS<T>::raznica( ) { int k = 0, d = 0, l1 = 0, l2 = 0 ; int razn = 0; for(int i = 0 ; i <N; i++)
C++ Вывести координаты вершин трапеции,в которой длина радиуса окружности,описанной вокруг нее,является наименьшей http://www.cyberforum.ru/cpp-beginners/thread881112.html
На плоскости задано множество точек,которые могут сделать равнобедренную трапецию.Вывести координаты вершин трапеции,в которой длина радиуса окружности,описанной вокруг нее,является наименьшей .
C++ Вывести матрицу Требуется вывести матрицу изображенную на рисунке. Причем не просто инициализировать, а сгенерировать. Помогите, люди добрые) подробнее

Показать сообщение отдельно
rvma
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 5
05.03.2015, 12:12     Оператор суммирования (классы, перегрузка операторов)
То что вызывается конструктор при, применении оператора +, то логично. И то что оператор вызывает функцию для перегрузки плюса тоже логично. Но в этих ответах нету никакой "философии", т.е. я не хочу сказать, что ответ не правильный, а скорее ответ не разъясняет саму суть. К примеру, с операторами пре и пост инкрементов и декрементов все воспринимается легко, т.к. эти операторы применяются к одному объекту и лигично, что фун-я перегрузки будет вызываться из того же объекта и по флагу передачи int определяется - будет применятся пре или пост инкр. декр. Вот, а теперь не ясно что делает оператор + в вызывающей функции, как он "знает" из какого объекта ему вызывать функцию перегрузки? Ведь программа начинает работу не из интерфейса, то логично. И не ясно откудого он "знает" какое значение присваивать, т.е. левое или правое. Хотелось бы въехать поглубже, понять откудого ноги растут, иначе как строить уже алгоритм, если не въехал в суть, а просто запомнил. Надеюсь я доступно задал свой вопрос. И надеюсь кто-то мне поможет с ответом)

Добавлено через 34 минуты
В дополнение к вопросу, могу сказать, что не разобравшись к какому из объектов применяется вызов функции перегрузки(ФП), и какой передается в качестве параметра, можно сделать вывод, что: 1)ФП вызывается для обоих объектов, и каждый суммируется друг с другом, значит, как-бы, результат в объекте three будет за двоен; 2)оператор + вызовет ФП для обоих объектов и они просуммируют сами себя, тут вообже непонятка))) Ошибка компиляции пересадки головного мозга, короче хрень.

Добавлено через 1 час 39 минут
Нашел в нете такой кусок. Наталкивает на некоторые мысли. Но я не уверен полностью. Таки как это работает?
C++
1
2
3
4
const Integer operator+(const Integer& left, const Integer& right) 
{
    return Integer(left.value + right.value);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru