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

Матрицы (обращение к двумерному массиву) - C++

Восстановить пароль Регистрация
 
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
22.06.2013, 01:38     Матрицы (обращение к двумерному массиву) #1
Народ, решил на досуге для собственного использования создать класс матрица( пока пробный). Разумеется захотелось обращаться как к нормально двух-мерному массиву [i][j]. И вот тут возникли проблемы.
Хочется нормального обращения к элементам массива, но увы не получается.

Matrix.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class CMatrix
{
private:
    int** _matr;
    int _n;
    int _m;
public:
    CMatrix(int n=0,int m=0);
    CMatrix(const CMatrix& matrix);
    CMatrix& operator= (const CMatrix& matrix);
        int* operator[](int i)const;
    friend ostream& operator<<(ostream& out,const CMatrix& matrix);
    friend istream& operator>>(istream& in,CMatrix& matrix);
    ~CMatrix(void);
};
C++
1
2
3
4
int* CMatrix::operator[](int i)const
{
    return _matr[i];
}
Я возвращаю массив, соответственно могу обращаться к нему по индексу.
C++
1
2
CMatrix A(2,2);
cout<<A[0][0];
По логике это должно работать. Получили массив, взяли его элемент и вуаля. Но не работает, где я ошибаюсь или что я не так понимаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 01:38     Матрицы (обращение к двумерному массиву)
Посмотрите здесь:

задача по двумерному массиву. C++
C++ обращение к динамич массиву
C++ Нужен урок по одномерном и двумерному динамическому массиву
C++ ошибка в обращение к массиву
C++ Можно ли значения двумерного динамического массива присвоить обыкновенному двумерному массиву?
C++ Как присвоить двумерному символьному массиву значение?
C++ Присваивание элементов двумерного массива другому двумерному массиву
Реализация механизма обращения к двумерному массиву C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
22.06.2013, 11:42     Матрицы (обращение к двумерному массиву) #2
@Wolkodav, ну так то всё будет работать=) может чего именно в заполнении матрицы не так написано=) потому что у меня именно так и всё ок=)
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
22.06.2013, 12:59  [ТС]     Матрицы (обращение к двумерному массиву) #3
@drdrink, да? Клёво. Ладно. Закономерный вопрос. Смотрите
C++
1
2
3
4
5
CMatrix A(2,2)
int* a=A[0];
delete[] a;
for (int i=0;i<2;i++)
cout<<A[0][i];
Вот тут косяк выскочит, мы испортим строку в матрице. Как такого избежать?
Yandex
Объявления
22.06.2013, 12:59     Матрицы (обращение к двумерному массиву)
Ответ Создать тему
Опции темы

Текущее время: 03:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru