Witam! Pod spodem jest kawalek kodu, w ktorym realizowane jest przeciazanie operatora +. W efekcie ma dojsc do "sumowania" klas A i B. Ale mam problem z nieco innym przypadkiem, mianowicie, jak dokonac takiego sumowania jesli obiekty A i B sa deklarowane w taki sposob:
class macierz *A, *B;
Czyli inaczej, jak dokonac sumowania przy uzyciu przeciazonego operatora +, ktorego arumentami nie sa obiekty, tak jak w przykladzie ponizej, a wskazniki do tych obiektow. Z gory dziekuje za pomoc. Pozdrawiam!
class macierz {
int *tab;
public:
macierz * operator+(macierz m);
};
macierz * macierz::operator+(macierz m){
class macierz *tmp;
tmp=new macierz(m.x,m.y);
for(int i=0; i<m.x; i++)
for(int j=0; j<m.y; j++)
*(tmp->tab+tmp->y*i+j)=*(this->tab+this->y*i+j)+*(m.tab+m.y*i+j);
return tmp;
};
int main() {
class macierz A,B,*C;
C=A+B;
return 0;
}
class macierz *A, *B;
Czyli inaczej, jak dokonac sumowania przy uzyciu przeciazonego operatora +, ktorego arumentami nie sa obiekty, tak jak w przykladzie ponizej, a wskazniki do tych obiektow. Z gory dziekuje za pomoc. Pozdrawiam!
class macierz {
int *tab;
public:
macierz * operator+(macierz m);
};
macierz * macierz::operator+(macierz m){
class macierz *tmp;
tmp=new macierz(m.x,m.y);
for(int i=0; i<m.x; i++)
for(int j=0; j<m.y; j++)
*(tmp->tab+tmp->y*i+j)=*(this->tab+this->y*i+j)+*(m.tab+m.y*i+j);
return tmp;
};
int main() {
class macierz A,B,*C;
C=A+B;
return 0;
}