------------------[ FICHIER .H ]-------------------- class matrice { private: double **tab; unsigned lgn, col; public: matrice (unsigned int i, unsigned int j); double getValeur (unsigned int i, unsigned int j); void copie (matrice &m); }; ------------------[ FICHIER .CPP ]-------------------- matrice::matrice (unsigned int i, unsigned int j) { lgn = i; col = j; tab = new double *[lgn]; for (int k=0; k!=lgn; k++) { tab[k] = new double[col]; for (int l=0; l!=col; l++) tab[k][l] = 0.0; } } double matrice::getValeur (unsigned int i, unsigned int j) { if (i<=lgn || j<=col) return 0.0; return tab[i][j]; } void matrice::copie (matrice &m) { if (lgn!=m.lgn || col!=m.col) return; for (int k=0; k!=lgn; k++) for (int l=0; l!=col; l++) tab[k][l] = m.getValeur[k][l]; } ------------------[ FICHIER MAIN ]-------------------- int main () { matrice m1(2,2),m2(2,2); // tu remplis m2 avec 1,2,3,4 par ex // tu as 0,0,0,0 dans m1 m1.copie(m2); // tu as 1,2,3,4 dans m1 }