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

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

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

Не работает operator + - C++

20.04.2011, 11:36. Просмотров 393. Ответов 5
Метки нет (Все метки)

пишу программку, а оператор+ не работает как надо, вместо суммы выдаёт всякий бред....может кто знает, что здесь не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Matrix Matrix::operator+(const Matrix second)
{
    if(m!=second.m || n!=second.n)
     {
      cerr<<"Raznyj razmer"<<endl;
      return Matrix();
     }
    else
    {
        Matrix rezult(*this);
 
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                 rezult.matr[i][j]=matr[i][j]+second.matr[i][j];
        return rezult;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2011, 11:36     Не работает operator +
Посмотрите здесь:

Не работает operator<< - C++
Подскажите пожалуйста, гду ошибка?#include &quot;stdafx.h&quot; int main() { class Book { private: string isbn; string name; ...

Почему не работает operator ==? - C++
Всем доброго времени суток ! Подскажите пожалуйста почему не работает такое обьявление оператора operator == bool operator ==...

Не работает operator<< шаблонного класса Vector - C++
Компилятор выдает ошибку error LNK2019: unresolved external symbol &quot;class std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt; &amp; __cdecl...

Как работает operator "->" - C++
Объясните пожалуйста,как работает такой вот значок -&gt; .А то гугл не хочет по нему искать(

operator= - C++
Такой вопрос. Есть объект. Хочу чтобы при присваивании его к чеслу выдавалось число. Например. class MyClass { short...

operator[] - C++
есть класс CItem, в качестве члена указан список CList&lt;CVariant&gt; data; как будет выглядеть operator класса CItem, чтобы данный код...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
garkeP91
50 / 50 / 5
Регистрация: 24.10.2010
Сообщений: 131
20.04.2011, 12:23     Не работает operator + #2
Цитата Сообщение от enoka Посмотреть сообщение
C++
1
rezult.matr[i][j]=matr[i][j]+second.matr[i][j];
Может, здесь вот так надо:
C++
1
rezult.matr[i][j]+=second.matr[i][j];
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.04.2011, 12:28     Не работает operator + #3
А вы матрицы-то заполнили? "Всякий бред" может быть мусором в не инициализированных ячейках входных матриц.

Добавлено через 58 секунд
garkeP91, разницы особой не будет, разве что лишнее копирование при инициализации rezult через конструктор копии.
enoka
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 19
20.04.2011, 12:43  [ТС]     Не работает operator + #4
матрицы заполнены в конструкторе, они нормально выводятся, но результат сложения бредовый....
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.04.2011, 12:57     Не работает operator + #5
А конструктор копии правильно написан? А то вы вторую матрицу по значению передаёте, может, конструктор копии криво отрабатывает?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2011, 18:14     Не работает operator +
Еще ссылки по теме:

operator[] в классе - C++
Написал собственный класс, где хранит одномерный массив template &lt;class TTT&gt; public class List_TTT { public: TTT * data; ...

Operator switch - C++
помогите пожалуйста.. Разработать программу, которая выводит на экран дисплея сообщения о значениях функции при различных значениях...

Реализовать operator>> - C++
Есть класс который хранит массив &lt;T&gt; данных в std::vector&lt;T&gt;, задача вывести из него эти данные. Есть готовый класс но там расписано под...

Перегрузить operator* - C++
Подскажите, пожалуйста, как использовать operator* в void main в данной программе по аналогии с operator-&gt; Не разобрался полностью в...


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

Или воспользуйтесь поиском по форуму:
enoka
0 / 0 / 0
Регистрация: 25.12.2008
Сообщений: 19
20.04.2011, 18:14  [ТС]     Не работает operator + #6
Цитата Сообщение от silent_1991 Посмотреть сообщение
А конструктор копии правильно написан? А то вы вторую матрицу по значению передаёте, может, конструктор копии криво отрабатывает?
спасибо)исправила конструктор копирования и заработало))
Yandex
Объявления
20.04.2011, 18:14     Не работает operator +
Ответ Создать тему
Опции темы

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