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

Перегрузка оператора ==, в классе Матрица - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проблема с вводом текста. http://www.cyberforum.ru/cpp-beginners/thread370430.html
Привет всем!!! извините конечно, за столь простой вопрос.. забыл и никак вспомнить не могу, как в Объект инспекторе выставить значения текста в кнопке не по центру как по умолчания выравнивается, а по длине кнопки.. Заранее благодарю..
C++ Какие есть библиотеки для работы с MYSQL Всем привет. Я ищу простую (С++) библиотеку для работы с MYSQL. Программа консольная, среда Visual Studio 9-10 Сурс из официального сайта мускула, буст и ACE не вариант. Заранее благодарю.:drink: http://www.cyberforum.ru/cpp-beginners/thread370429.html
Класс арифметических операций матрицы как на другую матрицу так и на число C++
Описать класс,реализующий тип данных "вещественная матрица" и работу с ними.Класс должен реализовывать слудующие операции над матрицами: 1)сложение,вычитание,умножение и деление(умножение и деление как на другую матрицу так и на число)(+ - * /) 2)Комбинированные операции присваивания(+= -= *= /=) 3)Операции сравнения на равенство неравенство 4)Операции вычисления обратной и транспонированной...
C++ Даны четыре вещественных числа от нуля. Проверить: образуют ли данные числа геометрическую прогрессию.
Даны четыре вещественных числа от нуля. Проверить: образуют ли данные числа геометрическую прогрессию.
C++ Задача про бинарный файл.. http://www.cyberforum.ru/cpp-beginners/thread370404.html
Добрый вечер) Вот возникла очередная проблемка с задачей по СИ++. Задача звучит таким образом: Создать бинарный файл f и записать в него действительные числа. Организовать просмотр бинарного файла и его обработку: найти сумму чисел, расположенных перед первым минимальным. Начало задачи я смогу, как мне кажется выполнить самостоятельно, но я все никак не пойму, как именно искать сумму чисел,...
C++ Анализатор кода Есть исходный файл (код C++) программы. Нужно создать дамп с анализом его содержимого. Например: #include <iostream> void func(int i) { return; } int main() подробнее

Показать сообщение отдельно
serginhold
2 / 2 / 0
Регистрация: 20.10.2011
Сообщений: 15
22.10.2011, 00:13  [ТС]     Перегрузка оператора ==, в классе Матрица
Переписал вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// Добавил функцию get(i,j), получение элемента, сейчас ниже объясню почему.
// Изменил указатель на ссылку:
template <class T>
bool Matrix<T>::operator == (const Matrix<T> &a)
{
    // перегружаем оператор ==, сравнием матрицы по элементно
    if ((this->Rows != a.RowsCount()) || (this->Cols != a.ColsCount()))
        return false;
    for (int i=0; i<this->Rows; i++)
        for (int j=0; j<this->Cols; j++)
            if (this->_data[i][j] != a.get(i,j)) return false;   /* ! внимание на эту строку */
    return true;
}
Как видите я комментарием отметил интересующую меня строку
Если я ее запишу вот таким образом:
C++
1
if (this->_data[i][j] != a[i][j]) return false;
то по вылетают ошибки, поэтому пришлось создать функцию "get(int i, int j)const;" (просто попробовал)

Если я пишу сравнение через "get()" то все компилируется нормально, но при таком коде выдает всегда true:
C++
1
2
3
Matrix <float> m = matr;
m[1][1] = -67.1; // правлю элемент на "левый"
if (m == matr) cout << "\n равны"; else cout << "\n нет";
 
Текущее время: 01:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru