dieguz46 (Normal User)
Newbie
Messaggi: 4
Iscritto: 27/01/2013
|
Data questa classe:
Codice sorgente - presumibilmente C++ |
#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 il 03/02/2013 alle 16:17 |