03/02/13 15:14
dieguz46
Data questa classe:
avrei la necessità di costruire una matrice di elementi di tipo T data un'altra matrice di elementi di tipo Q.
La gestione della convertibilità tra le due tipologie devo lasciarla al compilatore ed utilizzare eventualmente le eccezioni.
Potete aiutarmi?
#include <iostream> using namespace std; template <class T> class matrix{ private: T **array; unsigned int rows; unsigned int cols; public: matrix(unsigned int r, unsigned int c); matrix(matrix & m); T* & operator[](unsigned int r) { return array[r]; } unsigned int getRows() const { return rows; } unsigned int getCols() const { return cols; } T getValue(unsigned int r, unsigned int c) { return array[r][c]; } void setValue(unsigned int r, unsigned int c, T value) { array[r][c] = value; } void showArray(); }; template <class T> matrix<T>::matrix(unsigned int r, unsigned int c) { rows = r; cols = c; array = new T*[r]; for(int i=0; i<r; i++) array[i] = new T[c]; } template <class T> matrix<T>::matrix(matrix & m) { int i, j; delete [] array; rows = m.getRows(); cols = m.getCols(); array = new T*[rows]; for(i=0; i<rows; i++) array[i] = new T[cols]; for(i=0; i<rows; i++) for(j=0; j<cols; j++) array[i][j] = m[i][j]; } template <class T> void matrix<T>::showArray() { int i, j; for(i=0; i<rows; i++) { for(j=0; j<cols; j++) cout << array[i][j] << "|"; cout << endl; } }
avrei la necessità di costruire una matrice di elementi di tipo T data un'altra matrice di elementi di tipo Q.
La gestione della convertibilità tra le due tipologie devo lasciarla al compilatore ed utilizzare eventualmente le eccezioni.
Potete aiutarmi?
Ultima modifica effettuata da dieguz46 03/02/13 15:17
aaa