// test.cpp - Aplicación
#include <iostream>
#include <iomanip>
#include "matriz2d.h"
using namespace std;

template<class T> void visualizar(Matriz2d<T>& m)
{
  for (int f = 0; f < m.filas(); f++)
  {
    for (int c = 0; c < m.columnas(); c++)
      cout << setw(7) << m(f, c);
    cout << '\n';
  }
  cout << "\n\n";
}

int main()
{
  Matriz2d<double> m2d(2, 2), v1(2, 2);
  for (int f = 0; f < m2d.filas(); f++)
    for (int c = 0; c < m2d.columnas(); c++)
    {
      cout << "elemento[" << f << "][" << c << "] = ";
      cin >> m2d(f,c);
    }
  visualizar(m2d);
  v1 = m2d; // operador de asignación
  m2d(1,1) = -1;
  visualizar(m2d);
  visualizar(v1);
  Matriz2d<double> v2 = m2d; // constructor copia
  m2d(0,0) = -1;
  visualizar(m2d);
  visualizar(v2);
  
  system("pause");
}

