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

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

Войти
Регистрация
Восстановить пароль
 
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
#1

Перегрузка операции [][] для класса Матрица - C++

26.12.2010, 16:03. Просмотров 902. Ответов 4
Метки нет (Все метки)

Добрый день.

Возможно, кто нить знает, как правильно перегрузить операцию [][] для класса Матрица.
Класс описан так
C++
1
2
3
4
5
6
7
8
9
class matrix
{
private:
    float **matr;   //матрица
    int n;
public:
    float& operator[] (int i, int j) {return matr[i][j]}    //доступ к заданному элементу матрицы
 
};
Но компилятор на такой код выдает ошибки.
в чем может быть проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 16:03     Перегрузка операции [][] для класса Матрица
Посмотрите здесь:

Перегрузка операции < для класса вектор - C++
всем привет. есть класс вектор (одномерный массив). есть два объекта A и B этого класса. необходимо перегрузить операцию &lt; (A&lt;B). при...

Перегрузка операторов для класса "Матрица" - C++
Доброго времени суток. Помогите довести до ума код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;conio.h&quot; #include &quot;math.h&quot;...

Добавить в определение класса Матрица перегрузку операции сложения скаляра с матрицей - C++
Добавить в определение класса Matrix, реализовать и протестировать функции перегрузки операции сложения скаляра с объектом-матрицей как...

Перегрузка операции + для сложения элементов динамического массива - C++
Написал класс, создаваемый объект является динамическим массивом заполняемый рандомом по умолчанию, или через cin, пытаюсь описать...

перегрузка == для класса string - C++
можно ли для существующего класса string перегрузить оператор не вмешиваясь в библиотеку? ни разу не сталкивался. Error: стринг не...

Перегрузка << , >> для шаблонного класса - C++
Доброго времени суток всем! Данная тема не раз подымалась на форуме.. Но есть но.. Помогите перегрузить операторы побитового сдвига для...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
26.12.2010, 18:02     Перегрузка операции [][] для класса Матрица #2
C++
1
2
float* operator[](int i) { return matr[i]; } 
const float* operator[](int i) const { return matr[i]; }
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
26.12.2010, 21:55  [ТС]     Перегрузка операции [][] для класса Матрица #3
спасибо за совет, но обращение по индексу не работает, выводит только первую строку.
C++
1
2
3
4
matrix *mat = new matrix(n);
for (int i=0; i<n; i++)
    for (int j=0; j<n; j++)
        cout << *(mat[i][j]) << "   ";
как быть?
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
26.12.2010, 22:08     Перегрузка операции [][] для класса Матрица #4
C++
1
(*mat)[i][j]
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2010, 22:19     Перегрузка операции [][] для класса Матрица
Еще ссылки по теме:

Перегрузка операторов для класса треугольника - C++
Дан класс Треугольник, включающий в себя закрытые поля для сторон и медиан. Указать все необходимые функции инициализации и доступа к...

Перегрузка operator>> для производного класса - C++
Базовый класс: Taxi_Car.h: #pragma once #include&lt;string&gt; using namespace std; class Taxi_Car { string Marka;

Перегрузка оператора + для класса Date - C++
Здравствуйте! Как правильно перегрузить оператор +(Date, int) для класса Date, чтобы дата увеличивалась на нужное количество дней? При этом...

Перегрузка операторов для класса МАССИВ - C++
Привет. Есть класс &quot;вектор&quot; (&quot;массив&quot;), нужно переопределить операторы =, +, - , *, +=, -=, *= с целым числом. =, +=, -=, *=, как...


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

Или воспользуйтесь поиском по форуму:
patriot2008
72 / 72 / 4
Регистрация: 04.12.2008
Сообщений: 463
26.12.2010, 22:19  [ТС]     Перегрузка операции [][] для класса Матрица #5
Спасибо, очень выручили. Все работает.
Yandex
Объявления
26.12.2010, 22:19     Перегрузка операции [][] для класса Матрица
Ответ Создать тему
Опции темы

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