переопределение [][]
От: black_claster Россия  
Дата: 29.10.10 07:46
Оценка:
Здравствуйте.
Вот делаю класс по сути дела аналог динамического массива.
при инициализации одномерного массива и выборки из него элементов проблем не возникло:

clas DM
{
public:
DM();
~DM();
char& operator[] (int position);
char *POINT;
char **POINT_2;
void init(int number);
void init2(int i,intj);
}
DM::DM()
{
memset(this,0,sizeof(DM));
}
DM::~DM()
{
delete POINT;
}

void DM::init(int number)
{
POINT=new char[number];
}
void DM::init2(int i,int j)
{
POINT2=new char[i];
for(int n=0;n<i;n++)
{
POINT2[n]=new char[j];
}
}
char& operator[] (int position)
{
if(position<=MAX_SIZE)return POINT[position];

}



и в программе соответственно можно записать так:

DM NP;
NP.init(9);
NP[0]='t';


А вот как сделать так чтобы можно было оперировать в двумерном случае,
т.е.
DM NP;
NP.init(5,5);

NP[1][2]='n';

я не знаю.

Подскажите пожалуйста как переопределить оператор выборки для случая двойного массива.

Заранее благодарен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.