//编写一个矩阵类,通过成员函数重载运算符实现矩阵的加法,数乘,乘法。
#include <iostream>
using namespace std;
class Matrix {
public:
int v[2][2];
Matrix() {
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
v[i][j] = 0;
}
}
}
Matrix(int v1[][2]) {
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
v[i][j] = v1[i][j];
}
}
}
void print()
{
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
cout << v[i][j] << " ";
}
cout << endl;
}
}
Matrix operator+(Matrix m)
{
Matrix temp;
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
temp.v[i][j] = v[i][j] + m.v[i][j];
}
}
return temp;
}
Matrix operator*(int m)
{
Matrix temp;
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
temp.v[i][j] = v[i][j] * m;
}
}
return temp;
}
Matrix operator*(Matrix m)
{
Matrix temp;
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
temp.v[i][j] = v[i][0] * m.v[0][j] + v[i][1] * m.v[1][j];
}
}
return temp;
}
};
//验证:
int main() {
int v1[2][2] = { 1,2,3,4 };
int v2[2][2] = { 1,2,3,4 };
Matrix m1(v1), m2(v2);
m1.print();
m2.print();
Matrix m3 = m1 + m2;
m3.print();
Matrix m4 = m3 * 10;
m4.print();
Matrix m5 = m1 * m2;
m5.print();
return 0;
}
矩阵aaaaaaaaa
最新推荐文章于 2024-08-10 15:25:17 发布