Si infatti, questo proposto è un esercizio che devo fare per l'università (e fra l'altro ho un'altra difficoltà... ma ne parlerò in un'altro post) e quindi è mirato per sviluppare certi argomenti. Fra l'altro queste sono le prime righe di codice che butto giù in C++ per cui qualsiasi consiglio è ben accetto.
Ad ogni modo ho risolto il problema dell'allocamento dinamico inserendo
all'interno del metodo Open come mi dicevi tu oregon.codice:data = new int[col*row];