c++矩阵类实现矩阵的转置
时间: 2023-08-12 07:08:56 浏览: 153
可以通过重载运算符实现矩阵的转置,代码如下:
```c++
class Matrix {
private:
int rows, cols;
int **data; // 二维数组存储矩阵元素
public:
// 构造函数和析构函数
Matrix(int r, int c) : rows(r), cols(c) {
data = new int*[rows];
for (int i = 0; i < rows; i++)
data[i] = new int[cols];
}
~Matrix() {
for (int i = 0; i < rows; i++)
delete[] data[i];
delete[] data;
}
// 重载运算符
Matrix operator~() {
Matrix trans(cols, rows); // 新建一个转置矩阵
for (int i = 0; i < rows; i++)
for (int j = 0; j < cols; j++)
trans.data[j][i] = data[i][j]; // 转置
return trans;
}
};
```
其中,`~`为重载的运算符,用法如下:
```c++
Matrix m1(3, 2);
// 初始化矩阵元素
Matrix m2 = ~m1; // 转置矩阵
```
阅读全文