Форум программистов, компьютерный форум 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++ Вывести матрицу Требуется вывести матрицу изображенную на рисунке. Причем не просто инициализировать, а сгенерировать. Помогите, люди добрые) подробнее

Показать сообщение отдельно
VLK
 Аватар для VLK
192 / 161 / 12
Регистрация: 05.05.2013
Сообщений: 1,221
27.05.2013, 21:30  [ТС]     Оператор суммирования (классы, перегрузка операторов)
Второй вопрос но по той же тематике:

Кликните здесь для просмотра всего текста
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
#include <iostream>
 
class mat
{
public:
mat() { var = 0; }
mat(int a) { var = a; }
~mat() {  }
void set(int b) { var = b; }
int get() const { return var; }
 
mat operator+ (const mat & r)
{
return mat(var + r.get());
}
 
private:
int var;
};
 
int main()
{
mat one(2), two(3), three;
three = one + two;
 
std::cout << "\nONE: " << one.get() << "\nTWO: " << two.get() << "\nTHREE: " << three.get() << "\n";
 
system("pause");
return 0;
}


Правильно ли я понимаю, что в данном случае в строчке 24, + является оператором относящимся к классу mat, а точнее является функцией членом - operator+
и в данной строчке (24) этот плюс имеет отношение к объекту one а в качестве передаваемых параметров является объект two
т.е. в строчке 14 var имеет отношение к объекту one и равен 2, а r.get() уже имеет отношение к объекту two т.к. мы передавали этот объект, правильно я все понимаю?

Добавлено через 32 секунды
Цитата Сообщение от Olivеr Посмотреть сообщение
mat(var + r.get()) вызывает конструктор mat(int a) { var = a; } и таким образом создает временный объект mat. Потом он передается по значению (копируется, но не забываем NRVO) и присваивается three.
т.е. mat(5) ?
 
Текущее время: 05:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru