c++写一个矩阵类写一个矩阵类,矩阵类的参数包含矩阵的行、列和矩阵数据元素,其中矩阵行、列是整型,矩阵数据元素是浮点型,达到如下要求:1)\x09构造函数(1)\x09一个无参数的构造函数,将
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 16:54:51
![c++写一个矩阵类写一个矩阵类,矩阵类的参数包含矩阵的行、列和矩阵数据元素,其中矩阵行、列是整型,矩阵数据元素是浮点型,达到如下要求:1)\x09构造函数(1)\x09一个无参数的构造函数,将](/uploads/image/z/6941683-19-3.jpg?t=c%2B%2B%E5%86%99%E4%B8%80%E4%B8%AA%E7%9F%A9%E9%98%B5%E7%B1%BB%E5%86%99%E4%B8%80%E4%B8%AA%E7%9F%A9%E9%98%B5%E7%B1%BB%2C%E7%9F%A9%E9%98%B5%E7%B1%BB%E7%9A%84%E5%8F%82%E6%95%B0%E5%8C%85%E5%90%AB%E7%9F%A9%E9%98%B5%E7%9A%84%E8%A1%8C%E3%80%81%E5%88%97%E5%92%8C%E7%9F%A9%E9%98%B5%E6%95%B0%E6%8D%AE%E5%85%83%E7%B4%A0%2C%E5%85%B6%E4%B8%AD%E7%9F%A9%E9%98%B5%E8%A1%8C%E3%80%81%E5%88%97%E6%98%AF%E6%95%B4%E5%9E%8B%2C%E7%9F%A9%E9%98%B5%E6%95%B0%E6%8D%AE%E5%85%83%E7%B4%A0%E6%98%AF%E6%B5%AE%E7%82%B9%E5%9E%8B%2C%E8%BE%BE%E5%88%B0%E5%A6%82%E4%B8%8B%E8%A6%81%E6%B1%82%EF%BC%9A1%EF%BC%89%5Cx09%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%281%29%5Cx09%E4%B8%80%E4%B8%AA%E6%97%A0%E5%8F%82%E6%95%B0%E7%9A%84%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%2C%E5%B0%86)
c++写一个矩阵类写一个矩阵类,矩阵类的参数包含矩阵的行、列和矩阵数据元素,其中矩阵行、列是整型,矩阵数据元素是浮点型,达到如下要求:1)\x09构造函数(1)\x09一个无参数的构造函数,将
c++写一个矩阵类
写一个矩阵类,矩阵类的参数包含矩阵的行、列和矩阵数据元素,其中矩阵行、列是整型,矩阵数据元素是浮点型,达到如下要求:
1)\x09构造函数
(1)\x09一个无参数的构造函数,将矩阵的行、列都初始化为2,矩阵数据元素都初始化为0.
(2)\x09一个含有三个参数的构造函数,能够指定矩阵的行、列和矩阵数据元素.
(3)\x09一个复制构造函数.
2)\x09运算符重载
(1)\x09重载加号运算符,两个行和列都相等的矩阵才能进行加法运算.
(2)\x09重载 == 运算符,如果两个矩阵的行、列和矩阵数据元素分别相等才返回true.
3)\x09写一个成员函数sum(),返回矩阵所有元素之和.
4)\x09输入输出运算符的重载
(1)\x09输入运算符>>的重载.
(2)\x09输出运算符
c++写一个矩阵类写一个矩阵类,矩阵类的参数包含矩阵的行、列和矩阵数据元素,其中矩阵行、列是整型,矩阵数据元素是浮点型,达到如下要求:1)\x09构造函数(1)\x09一个无参数的构造函数,将
#include
#include
using namespace std;
class CMatrix
{
private:
int x;
int y;
float * fValue;
public:
CMatrix();
CMatrix(int x,int y,float value);
CMatrix(const CMatrix & mx);
float sum() const;
friend CMatrix & operator+(const CMatrix &a,const CMatrix &b);
friend bool operator==(const CMatrix &a,const CMatrix &b);
friend ostream & operator(istream & op,const CMatrix & cm);
};
CMatrix::CMatrix()
{
x=2;
y=2;
fValue=new float[x*y];
for(int i=0;ix=x;
this->y=y;
fValue=new float[x*y];
for(int i=0;ifValue==cm.fValue)
return;
this->x=cm.x;
this->y=cm.y;
this->fValue=new float[cm.x*cm.y];
for(int i=0;ifValue[i]=cm.fValue[i];
}
CMatrix & operator+(const CMatrix &a,const CMatrix &b)
{
assert(a.x==b.x && a.y==b.y);
CMatrix * cm=new CMatrix(a.x,a.y,0);
cm->x=a.x;
cm->y=a.y;
for(int i=0;ix*cm->y;i++)
cm->fValue[i]=a.fValue[i]+b.fValue[i];
return *cm;
}
bool operator==(const CMatrix &a,const CMatrix &b)
{
assert(a.x==b.x && a.y==b.y);
for(int i=0;iy;i++)
temp+=this->fValue[i];
return temp;
}
ostream & operator