#include <iostream>
#include "../inc/matrix.hpp"

void print_element(const MatBase<double> &m, int x, int y)
{                                         // 注意参数是基类
    std::cout << m.at(x, y) << std::endl; // 调用虚函数所定义的接口
}

int main()
{
    Matrix<double> a(2, 2, 9.0);
    Matrix<double> b(2, 2, 7.0);
    print_element(a, 0, 0); // 输出 Mat2x2 变量 a 的第一个元素，注意输入是派生类
    print_element(b, 0, 0); // 输出 Matrix 变量 b 的第一个元素，注意输入是派生类
}