通过类实现矩阵加减法、乘法、转置(C++)) | 您所在的位置:网站首页 › 矩阵方阵乘法 › 通过类实现矩阵加减法、乘法、转置(C++)) |
定义一个二维方阵类 matrix 通过重载二元运算符“+”、“-”、“*”和一元运算符“~”, 来实现矩阵加、矩阵减、矩阵乘以及矩阵转置。 matrix类的构造、拷贝构造及析构1.由于矩阵的行与列都是未知的,首先需要通过动态分配内存实现创建任意大小的矩阵,由于类中默认的构造函数无法满足我们的需求,因此首先应该改写构造函数 matrix(int a, int b) { r = a; c = b; mem = new int* [a]; for (int i = 0; i r = p.r; c = p.c; mem = new int* [r]; for (int i = 0; i mem[i][j] = p.mem[i][j]; } }3.同样的,析构函数应释放动态分配的内存,这里也需要改写 ~matrix() { for (int i = 0; i //应判断两个矩阵的行宽和列宽是否一致 if (r != m.r || c != m.c) { cout for (int i = 0; i cout matrix tmp(c, r); for (int i = 0; i cout for (int i = 0; i cout r = a; c = b; mem = new int* [a]; for (int i = 0; i r = p.r; c = p.c; mem = new int* [r]; for (int i = 0; i mem[i][j] = p.mem[i][j]; } } ~matrix() { for (int i = 0; i if (r != m.r || c != m.c) { cout if (r != m.r || c != m.c) { cout if (c != m.r) { cout matrix tmp(c, r); for (int i = 0; i cout for (int i = 0; i cout p1.mem[i][j] = num1; num1++; } for (int i = 0; i p3.mem[i][j] = num3; num3++; } matrix p11 = p1 + p2; cout |
CopyRight 2018-2019 实验室设备网 版权所有 |