I have class ```Matrix2D<T> : Cloneable, Ite...
# getting-started
m
I have class ```Matrix2D<T> : Cloneable, Iterable<T> { private val array: Array<Array<Any>> private val columns: Int get() = array.size private val rows: Int get() = array[0].size public val size: Int get() = rows * columns constructor(rows: Int, columns: Int, default: T) { when { rows < 1 -> throw MatrixDimensionException("Number of rows should >= 1") columns < 1 -> throw MatrixDimensionException("Number of columns should be >= 1") } array = Array(rows) { Array(columns) { default as Any } } } public override fun clone() : Matrix2D<T> { return Matrix2D(rows, columns, default = T) }