Oppure

Loading
03/02/13 15:14
dieguz46
Data questa classe:

#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