Tôi đang khám phá ra C++ và tôi muốn tạo một ma trận ma trận toán học mini bằng cách sử dụng các mẫu.Mẫu toán tử quá tải C++ với các đối số khác nhau
Ở đây, tôi muốn quá tải toán tử *.
Nếu tôi mô tả một ma trận như thế này: M(y, x)
với M
tên ma trận, y
và x
chiều cao và chiều rộng, một phép nhân ma trận nên xem xét như thế:
M(a, b) * N(b, c) = R(a, c)
Hiện nay tôi có mã này:
template<unsigned int y, unsigned int x>
class Matrix
{
public:
Matrix() { }
~Matrix() { }
Matrix<y, x2>& operator*(const Matrix<y2, x2>& right)
{
// code...
}
private:
std::array<std::array<double, x>, y> m_values;
};
Vì vậy, tôi muốn để có thể nhân hai differents ma trận như thế:
Matrix<3, 4> m;
Matrix<4, 2> n;
// fill the matrix with values
Matrix<3, 2> o = m * n;
Tôi đã tìm kiếm nhưng tôi không tìm thấy câu trả lời cho câu hỏi này (có thể vì tôi không thực sự biết những gì tôi phải tìm kiếm chính xác).
Nhờ sự giúp đỡ của bạn :)