C++ 实现:重载“+”运算符求 2 行 3 列矩阵之和
在C++中,你可以通过重载运算符“+”来实现两个矩阵的相加。下面是一个示例代码,展示了如何实现这一功能: ```cpp #include <iostream> using namespace std; 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+(const Matrix& other) { Matrix result(rows, cols); for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { result.data[i][j] = this->data[i][j] + other.data[i][j]; } } return result; } // 输入矩阵 void input() { for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { cin >> data[i][j]; } } } // 输出矩阵 void display() { for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { cout << data[i][j] << " "; } cout << endl; } } }; int main() { Matrix a(2, 3); Matrix b(2, 3); cout << "输入矩阵a的元素:" << endl; a.input(); cout << "输入矩阵b的元素:" << endl; b.input(); Matrix c = a + b; cout << "矩阵a + 矩阵b的结果是:" << endl; c.display(); return 0; } ``` 代码解释: 1. Matrix类:定义了一个Matrix类,包含矩阵的行数、列数和一个二维数组`data`来存储矩阵元素。 2. 构造函数:初始化矩阵的行数和列数,并动态分配内存来存储矩阵元素。 3. 析构函数:释放动态分配的内存。 4. 运算符重载:重载了“+”运算符,使得两个Matrix对象可以直接相加。 5. input函数:用于从用户输入中读取矩阵元素。 6. display函数:用于输出矩阵元素。 额外需要注意的逻辑点: 1. 确保两个矩阵的维度相同,否则无法进行相加操作。 2. 在重载运算符时,返回一个新的Matrix对象,而不是修改原有的对象。 3. 在使用动态内存分配时,务必在析构函数中释放内存,避免内存泄漏。 ######[AI写代码神器 | 654点数解答 | 2025-03-17 20:53:52]
- C++ 实现:轻松计算两个矩阵的乘法并输出结果(字节豆包 | 381点数解答 | 2025-12-03 19:20:23)136
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)370
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)341
- Python开发必知://、%、**运算符深度解析(阿里通义 | 317点数解答 | 2023-11-08 00:49:49)1066
- Android 开发:Kotlin 中简洁实用的 Elvis 运算符全解析(百度文心 | 231点数解答 | 2023-11-09 17:28:21)276
- Android开发:Kotlin双感叹号(!!)运算符全解析及使用风险(百度文心 | 334点数解答 | 2023-11-09 17:28:33)299
- Python+Tkinter:打造30以内加减乘除随机出题、判题打分GUI小程序(GPT | 1266点数解答 | 2024-06-19 14:45:56)340
- Python 复数类 Complex:前置与后置自增运算符重载全解析(字节豆包 | 357点数解答 | 2025-06-06 17:22:02)140
- Python 实现:根据规则判定 2^n×2^n 方阵中作弊者的赦免命运(字节豆包 | 247点数解答 | 2024-11-03 10:30:46)208
- C语言实现:解决2ⁿ×2ⁿ方阵作弊者赦免问题(字节豆包 | 370点数解答 | 2024-11-03 10:31:31)225
- C语言递归破解2ⁿ×2ⁿ作弊者赦免难题,输出01命运矩阵!(百度文心 | 792点数解答 | 2024-11-03 10:36:04)294
- Python 实现:计算用户输入 n x n 矩阵边界元素之和(GPT | 319点数解答 | 2024-11-21 00:16:05)147