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

Матрица произвольных размеров - C++

Войти
Регистрация
Восстановить пароль
 
AltPeople
 Аватар для AltPeople
10 / 10 / 1
Регистрация: 25.09.2008
Сообщений: 73
03.06.2009, 11:34     Матрица произвольных размеров #1
решил создать класс, который формировать двумерный массив произвольного размера
создаю класс - файл "ttt.h":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef TTT_H
#define TTT_H
class ttt
{
public:
       ttt(int=3,int=3);
       void setArea();//присвоение эл-там массива нулевые значения
       void printI();
private:
       const int i;
       const int j;
       int area [j][i];
};
#endif
далее идет описание - файл "ttt.срр"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include "ttt.h"
ttt::ttt(int ii,int jj):i(ii),j(jj)
{      
}
void setArea()
{
   for (int k=0;k<j;k++)
   {
       for(int h=0;h<i;h++)
       {
               area[k][h]=0;               
       }     
   }
     
}
void ttt::printI()
{
     cout<<i<<j;     
}
ну и исполнительный - файл "main"
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream.h>
#include "ttt.h"
    
int main ()
{
    ttt s(5,6);
    s.setArea();
       
    return 0;
}
выдает ошибки:
1. In file included from main.cpp invalid use of non-static data member `ttt::j' from this location.
2. In file included from main.cpp invalid use of non-static data member `ttt::i' from this location.

каким образом нужно объявить константы i и j, чтобы их можно было использовать в качестве размера массива, и вообще возможно ли это?
среда DEV-C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2009, 11:34     Матрица произвольных размеров
Посмотрите здесь:

C++ Имеется четыре произвольных числа: А, B, C, D
C++ Разность произвольных чисел
Имеется четыре произвольных числа: А, B, C, D. C++
Имеется четыре произвольных числа: А, B, C, D. C++
C++ Имеется массив А из N произвольных чисел.
C++ Записать в файл последовательного доступа n произвольных чисел.
В последовательности из N произвольных чисел подсчитать количество нулей C++
Построить шаблон класса матрица произвольных элементов C++
Суммирование массивов произвольных размеров C++
Определение наибольшего из десяти произвольных чисел C++
C++ Найти сумму десяти произвольных чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
03.06.2009, 11:41     Матрица произвольных размеров #2
Цитата Сообщение от AltPeople Посмотреть сообщение
вообще возможно ли это
а нужно ли это?
rangerx
1919 / 1528 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
03.06.2009, 17:35     Матрица произвольных размеров #3
каким образом нужно объявить константы i и j, чтобы их можно было использовать в качестве размера массива, и вообще возможно ли это?
И нет, и да. В вашем случае нет . Т.е. достаточно объявить константы как static и инициализировать их. Но в данном случае это не поможет. Динамическое выделение памяти, конструктор копий, и перегрузка операторов вам в помощь.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
03.06.2009, 17:51     Матрица произвольных размеров #4
Тут переменные по своей семантике не константные. Константные- это те,значение которых известно на этапе компиляции и сборки,фактически.В данном случае,учитывая конструктор - они не не константы. К тому же,выделение памяти из кучи практичнее.
Yandex
Объявления
03.06.2009, 17:51     Матрица произвольных размеров
Ответ Создать тему
Опции темы

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