下面给出了矩阵类Matrix 定义。为了求两个矩阵对象的乘积, 需要定义一个Matrix的友元函数Multiply() 。请按照友元函数Multiply()的声明编写出该函数的定义。

class Matrix { public: Matrix(int row,int col); // 构造一个具有row 行col 列的矩阵 ~Matrix() {delete []mem;} // 析构函数 friend bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3); // 定义Multiply() 为友元函数,该函数把m1×m2的值赋给m3 // 其他成员函数从略 private: int *mem; // 动态申请矩阵空间 const int rows,cols; // 矩阵的行数和列数 }; Matrix::Matrix(int row,int col):rows(row),cols(col) { mem = new int[row*col]; } bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3) { // 确定矩阵是否能够进行相乘 if(m1.rows != m3.rows ||m2.cols != m3.cols || m1.cols != m2.rows) return false; // 定义sum变量,用于计算乘积矩阵m3中每个元素的值 int sum; // 请在下面编写剩余部分 }

时间:2024-05-02 17:59:05

相似题目