通过类实现矩阵加减法、乘法、转置(C++)) 您所在的位置:网站首页 矩阵方阵乘法 通过类实现矩阵加减法、乘法、转置(C++))

通过类实现矩阵加减法、乘法、转置(C++))

2023-08-29 17:50| 来源: 网络整理| 查看: 265

定义一个二维方阵类 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 实验室设备网 版权所有