Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
1

Шаблонный класс: матрица

11.04.2012, 10:17. Показов 6821. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хочу запилить класс matrix - двумерный массив с помощью vector

пишу:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
using namespace std;
 
class matrix
 
{
  private:
   vector< vector<int> > arr;
 
//Конструктор
 
  public:
   matrix(int rows, int cols) : arr(rows) 
    {
      for (int i = 0; i < rows; ++i)
        arr[i].resize(cols);
    }
   
//остальное писать не буду
 
}
все круто все работает.....


теперь хочу запилить шаблончик, чтобы не только интовые массивы можно было делать а float, double

пишу:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
using namespace std;
 
template <class T>
class matrix
 
{
  private:
   vector< vector<T> > arr;
 
//Конструктор
 
  public:
   matrix(int rows, int cols) : arr(rows) 
    {
      for (int i = 0; i < rows; ++i)
        arr[i].resize(cols);              // - ВСЕ  - здесь метод resize уже не определен - ПОЧЕМУ?????
    }
   
//остальное писать не буду
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2012, 10:17
Ответы с готовыми решениями:

Создайте шаблонный класс матрица
Создайте шаблонный класс матрица. Необходимо реализовать динамическое выделение памяти, очистку...

Выделение памяти. Создать шаблонный класс-матрица
Я считываю с файла значения от 1 до 1000000,а потом в методе &quot;copycolumn&quot; копирую одну колонку из...

Реализовать шаблонный класс "Матрица" (шаблоны классов и функций)
Написать код программы на С++ Разработать шаблонные функции и классы. класс МАТРИЦА. Для класса...

Создать шаблонный класс "матрица"
Создайте шаблонный класс матрица. Необходимо реализовать динамическое выделение памяти, очистку...

6
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.04.2012, 10:26 2
Dark2012, Что значит "не определен"? Конкретнее пожалста.
0
0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
11.04.2012, 10:35  [ТС] 3
ну т.е у arr[i]. - нету никаких методов я, вообще не могу понять почему....,

Добавлено через 1 минуту
подробнее - не знаю как пишу arr[i] - нажимаю "." - ниче не появляется - прописываю вручную resize - там написано <unknow><unnamed>::resize
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
11.04.2012, 10:45 4
Вроде все в порядке.

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
31
32
33
34
#include <iostream>
#include <vector>
template <class T>
class matrix
 
{
  private:
   std::vector< std::vector<T> > arr;
 
  public:
   matrix(int rows, int cols) : arr(rows)
    {
      for (int i = 0; i < rows; ++i)
        arr[i].resize( cols );  
    }
 
   void output() const {
      for ( std::size_t i = 0; i < arr.size(); i++ ) {
         for ( std::size_t j = 0; j < arr[ i ].size(); j++ )
            std::cout << arr[ i ][ j ] << ' ';
         
         std::cout << std::endl;
      }
   }
 
};
 
int main() {
   matrix< int > b( 2, 2 );
 
   b.output();
 
   return 0;
}
Вывод
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
11.04.2012, 10:48 5
Dark2012,

class NAME
{
};
0
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
11.04.2012, 10:50 6
Так он же не весь код вроде выложил Не думаю что была пропущена ; Или была? Oo
0
0 / 0 / 1
Регистрация: 03.12.2011
Сообщений: 43
11.04.2012, 11:06  [ТС] 7
хммм.... действительно работает - VS компилирует и упорно продолжает "невидеть" и возле resize пишет <unknow><unnamed>::resize...когда к нему подводишь мышкой

в общем ладно работает ну и хорошо))
СПасибо
0
11.04.2012, 11:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2012, 11:06
Помогаю со студенческими работами здесь

Класс Matrix: реализовать шаблонный класс для двумерных массивов
Доброго времени суток. У меня вопрос: я создал класс Array со внутренним динамическим массивом и...

Шаблонный класс и класс одномерный массив
Задание: протестировать класс шаблон, с обычными типами данных я понял как делать, а как передать в...

Переделать класс в шаблонный класс
Как данный процесс проделать? Я попробовал так по синтаксису из учебника: #include &lt;iostream&gt;...

Шаблонный класс
Доброго времени суток. Опять пишу здесь(( помогите ребятки.Сидел много над проблемой и честное...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru