| 分类: 技术文章 |
//~CMatrix.h
//programming by lei,2006.7.20
//*******
class CMatrix
{
public:
CMatrix(int,int);
//构造函数
bool initialize(int,int);
//矩阵初始化
bool
create();
//由用户输入矩阵各元素
void
output();
//输出矩阵各元素
CMatrix operator +(CMatrix
&M2); //重载矩阵加运算
CMatrix operator -(CMatrix
&M2); //重载矩阵减运算
CMatrix operator *(int
&m);
//重载矩阵与常数乘法运算
CMatrix
operator *(CMatrix &M2); //重载矩阵与矩阵乘法运算
private:
int
m_row;
//矩阵行数
int
m_col;
//矩阵列数
double *m_pData;
//使用指针指向矩阵各元素
};
//构造函数
CMatrix::CMatrix(int r,int c)
{
initialize(r,c);
}
//矩阵初始化函数
bool CMatrix::initialize(int r,int c)
{
m_row=r;
m_col=c;
m_pData=new double[r*c];
for(int
i=0;i<m_row*m_col;i++)
{
m_pData[i]=0;
}
return true;
}
//输入矩阵数据元素,创建新矩阵
bool CMatrix::create()
{
m_pData=new double[m_row*m_col];
for(int i=0;i<m_row*m_col;i++)
{
cin>>m_pData[i];
}
return true;
}
//矩阵输出函数
void CMatrix::output()
{
int j=0;
for(int
i=0;i<m_row*m_col;i++)
{
cout<<m_pData[i]<<" ";
j++;
if(j==m_col)
{j=0;cout<<"\n";}
}
}
//重载矩阵相加运算
CMatrix CMatrix::operator +(CMatrix &M2)
{
CMatrix M=*this;
for(int
i=0;i<m_row*m_col;i++)
M.m_pData[i]=m_pData[i]+M2.m_pData[i];
return M;
}
//重载矩阵相减运算
CMatrix CMatrix::operator -(CMatrix &M2)
{
CMatrix M=*this;
for(int
i=0;i<m_row*m_col;i++)
M.m_pData[i]=m_pData[i]-M2.m_pData[i];
return M;
}
//重载矩阵与常数相乘运算
CMatrix CMatrix::operator *(int &m)
{
CMatrix M=*this;
for(int
i=0;i<m_row*m_col;i++)
M.m_pData[i]=m_pData[i]*m;
return M;
}
//programming by lei,2006.7.20
//*******
class CMatrix
{
public:
private:
};
//构造函数
CMatrix::CMatrix(int r,int c)
{
}
//矩阵初始化函数
bool CMatrix::initialize(int r,int c)
{
}
//输入矩阵数据元素,创建新矩阵
bool CMatrix::create()
{
}
//矩阵输出函数
void CMatrix::output()
{
}
//重载矩阵相加运算
CMatrix CMatrix::operator +(CMatrix &M2)
{
}
//重载矩阵相减运算
CMatrix CMatrix::operator -(CMatrix &M2)
{
}
//重载矩阵与常数相乘运算
CMatrix CMatrix::operator *(int &m)
{
}
//重载矩阵与矩阵乘法运算
CMatrix CMatrix::operator *(CMatrix &M2)
{
CMatrix M=*this;
int j=0;
for(int
i=0;i<m_row*m_col;i++)
{
M.m_pData[i]=m_pData[i]*M2.m_pData[i+j*m_col];
j++;
if(j==M2.m_row) j=0;
}
return M2;
}
CMatrix CMatrix::operator *(CMatrix &M2)
{
}
//**************
当然,我们还可以在此基础上再添加其他矩阵运算成员函数,以完善CMatrix类.
新建一个source文件,将CMatrix.h包含进去,即可使用矩阵类.
前一篇:一个小罗可以买下整个中超
后一篇:重写arcto函数

加载中…