ayuda con sobrecarga de op
Publicado por julio (1 intervención) el 11/09/2003 02:22:27
alguien me puede ayudar , sobre como sobre cargar el operador + para que sume dos matrices de n*n.
Matriz& Matriz::operator + (const Matriz &a)
{
Matriz *res = new Matriz(n,m);
if(a.n==n)&&(a.m==m){
for(int i=0 ;i<a.n; i++)
for(int j=0;j<a.m;j++)
(*res)(i,j) = a(i,j)+(->this)(i,j);}
return res;
}
else
(->res)set(0,0);
return *res;
}
Matriz& Matriz::operator * (const Matriz &a)
{
Matriz *res = new Matriz(n,m);
if(a.n == n)&&(a.m == m){
for(int i=0;i<a.n;i++)
for(int j=0;j<a.m; j++)
for(int k=0; (*res(i,j)=0;k<a.n;k++)
(*res)(i,j) = a(i,k)*(*this)(k,j);}
return *res;
else
(->res)set(0,0);
return *res;
}
set(0,0) es un metodo que yo defini para que me muestre un arreglo bidimencional de puros ceros . o matriz cero.
El problema que tengo es con la reserva de memoria dinamica, tengo que borrala con DELETE , si es así como le hago.?
Matriz& Matriz::operator + (const Matriz &a)
{
Matriz *res = new Matriz(n,m);
if(a.n==n)&&(a.m==m){
for(int i=0 ;i<a.n; i++)
for(int j=0;j<a.m;j++)
(*res)(i,j) = a(i,j)+(->this)(i,j);}
return res;
}
else
(->res)set(0,0);
return *res;
}
Matriz& Matriz::operator * (const Matriz &a)
{
Matriz *res = new Matriz(n,m);
if(a.n == n)&&(a.m == m){
for(int i=0;i<a.n;i++)
for(int j=0;j<a.m; j++)
for(int k=0; (*res(i,j)=0;k<a.n;k++)
(*res)(i,j) = a(i,k)*(*this)(k,j);}
return *res;
else
(->res)set(0,0);
return *res;
}
set(0,0) es un metodo que yo defini para que me muestre un arreglo bidimencional de puros ceros . o matriz cero.
El problema que tengo es con la reserva de memoria dinamica, tengo que borrala con DELETE , si es así como le hago.?
Valora esta pregunta


0