Доброго времени суток всем! Возникла проблема:
Имеется класс:
class Matrix
{
public: int **massive; //указатель на двумерный массив
unsigned SIZE_Y, SIZE_X;
//Конструктор
Matrix(unsigned sizex, unsigned sizey)
//Размеры массива
unsigned GetLength(int x)
//Нулл Массива
void zeros()
//Вывод массива на экран
friend ostream &operator<<(ostream &, Matrix );//<-соответственно проблема тут
//Еденичная матрица
void intity()
//Деструктор
~Matrix()
};
ostream &operator<<(ostream &output, Matrix t)
{
for(unsigned i=0;i<t.GetLength(0);i++)
{
for(unsigned j=0;j<t.GetLength(1);j++)
output<<" "<<t.massive[i][j];
output<<endl;
}
return output;
};
int main()
{
Matrix *Mass=new Matrix(5,5);
Mass->intity();
cout<<*Mass;//Первый массив выводится на экран нормально
cout<<endl;//После этого вызывается деструктор 0_о
Mass->zeros();//Соответственно не выполняется далее код
cout<<*Mass<<endl;
delete Mass;
return 0;
}
Прошу помочь!