Potřebuju pomoct s přetížením operátoru + se 2 argumety
mám toto:
class CMatrix
{
public:
double ** pole;
friend CMatrix operator+ ( const CMatrix & a, const CMatrix & b );
};
CMatrix::CMatrix(int x, int y) // konstruktor
{
delka_X=x;
delka_Y=y;
pole = new double*[delka_Y];
for (int a=0;a<delka_Y;a++)
{
pole[a] = new double[delka_X];
for (int b=0;b<delka_X;b++) {pole[a][b] = 0;}
}
}
CMatrix::CMatrix(const CMatrix & mat) // kopirujici konstruktor
{
delka_X = mat.delka_X;
delka_Y = mat.delka_Y;
pole = new double*[delka_Y];
for (int x=0;x<delka_Y;x++)
{
pole[x] = new double[delka_X];
for(int y=0;y<delka_X;y++) {pole[x][y] = mat.pole[x][y];}
}
}
CMatrix::~CMatrix(void)// destruktor
{
for (int x=0;x<delka_Y;x++) {delete [] pole[x];}
delete [] pole;
}
a potřebuju operator + overload se 2 argumenty aby v mainu šlo toto:
CMatrix d(1,1);
d = a + b; // matice D bude soucet matice A + matice B
někde jsem četl že se to dělá pomocí *this... ale nevím jak.