Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 42 стр.

UptoLike

Составители: 

42
void array2::WriteMas() {
for (int i=0;i<n;i++)
{ for (int j=0;j<m;j++)
cout<<mas[i][j]<<'\t';
cout<<'\n';
} }
array2::~array2(){for (int i=0;i<n;i++)
delete [] mas[i];
delete[]mas;
}
array2& operator*(array2& m1,array2& m2) //внешняя функция перегрузки операции
//умножения
{ if(m1.m==m2.n)
{array2 *pta;
int s;
pta=new array2(m1.n,m2.m);
for(int i=0;i<m1.n;i++)
{ for(int j=0;j<m2.m;j++)
{s=0;
for(int k=0;k<m1.m;k++)
s+=m1.mas[i][k]*m2.mas[k][j];
pta->mas[i][j]=s;
}
}
return *pta;
}
else cout<<"Error";
}
array2::operator int()
{ int sum=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
sum+=mas[i][j];
return sum;
}
void array2::operator=(array2& m2)
{ if(n==m2.n&&m==m2.m)
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
mas[i][j]=m2.mas[i][j];
else cout<<"Error";
}
main()
{ array2 m(2,3),m1(3,4),m2(2,4);
m.ReadMas();
m1.ReadMas();
m2=m*m1; //перемножаем массивы по правилу перемножения матриц
m2.WriteMas();
int c=int(m2); //получаем сумму элементов массива
void array2::WriteMas() {
                             for (int i=0;imas[i][j]=s;
       }
     }
     return *pta;
   }
  else cout<<"Error";
}
array2::operator int()
{ int sum=0;
  for(int i=0;i