c++写一个矩阵类写一个矩阵类,矩阵类的参数包含矩阵的行、列和矩阵数据元素,其中矩阵行、列是整型,矩阵数据元素是浮点型,达到如下要求:1)\x09构造函数(1)\x09一个无参数的构造函数,将

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 18:34:13
c++写一个矩阵类写一个矩阵类,矩阵类的参数包含矩阵的行、列和矩阵数据元素,其中矩阵行、列是整型,矩阵数据元素是浮点型,达到如下要求:1)\x09构造函数(1)\x09一个无参数的构造函数,将

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