Coding Challenge < C++ >

What will this program output?

C++
#include <iostream>

class Matrix {
public:
    Matrix(int rows, int cols) : rows(rows), cols(cols) {
        data = new int*[rows];
        for (int i = 0; i < rows; ++i) {
            data[i] = new int[cols];
            for (int j = 0; j < cols; ++j) {
                data[i][j] = i * cols + j + 1;
            }
        }
    }

    ~Matrix() {
        for (int i = 0; i < rows; ++i) {
            delete[] data[i];
        }
        delete[] data;
    }

    void print() const {
        for (int i = 0; i < rows; ++i) {
            for (int j = 0; j < cols; ++j) {
                std::cout << data[i][j] << " ";
            }
            std::cout << std::endl;
        }
    }

private:
    int** data;
    int rows;
    int cols;
};

int main() {
    Matrix matrix(3, 4);
    matrix.print();
    return 0;
}
Was this page helpful?