fix: matrix init and assignment
This commit is contained in:
parent
a8d6d82050
commit
7ded24a34b
|
@ -119,7 +119,8 @@
|
|||
"style_parser": "cpp",
|
||||
"vmanip": "cpp",
|
||||
"element": "cpp",
|
||||
"tree": "cpp"
|
||||
"tree": "cpp",
|
||||
"vertices": "cpp"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -41,10 +41,11 @@ matrix<T>::matrix(int n, int m) {
|
|||
|
||||
template <class T>
|
||||
matrix<T>::matrix(const matrix<T>& A) {
|
||||
size_t number = A.n * A.m;
|
||||
n = A.n, m = A.m;
|
||||
element = new T*[n];
|
||||
for (int i = 0; i < n; i++) element[i] = new T[m];
|
||||
std::copy(A.element, A.element + number, element);
|
||||
for (int i = 0; i < n; i++)
|
||||
for (int j = 0; j < m; j++) element[i][j] = A.element[i][j];
|
||||
}
|
||||
|
||||
template <class T>
|
||||
|
@ -54,10 +55,11 @@ template <class T>
|
|||
matrix<T>& matrix<T>::operator=(const matrix<T>& A) {
|
||||
if (this != &A) {
|
||||
delete[] element;
|
||||
size_t number = A.n * A.m;
|
||||
n = A.n, m = A.m;
|
||||
element = new T*[n];
|
||||
for (int i = 0; i < n; i++) element[i] = new T[m];
|
||||
std::copy(A.element, A.element + number, element);
|
||||
for (int i = 0; i < n; i++)
|
||||
for (int j = 0; j < m; j++) element[i][j] = A.element[i][j];
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue