new 创建结构数组 void tran(SMatrix&);只想把这里的CLASS X初始化..

来源:百度知道 编辑:UC知道 时间:2024/06/19 01:43:00
#include <iostream.h>

struct RCV
{
int row,col;
int value;
};

class SMatrix
{

public:
SMatrix(){item=NULL;num=0;};
SMatrix(RCV a[],int co,int ro,int n);
~SMatrix(){cout<<"sd";}
void tran(SMatrix&);
int get(int i,int j);
void print();
private:
RCV *item;
int r,c,num;
};
SMatrix::SMatrix(RCV a[],int co,int ro,int n)
{
int i;
r=ro;c=co;num=n;
item=new RCV[num];
for(i=1;i<=num;i++)
item[i]=a[i];
};
void SMatrix::tran(SMatrix& x)
{

int i,j,k;
x.r=c;x.c=r;x.num=num;
x.item=new RCV[num];
for(i=1;i<=num;i++)
{ x.item[i].value=0;
x.item[i].col=0;
x.item[i].row=0;

cout<<x.item[1].value<<x.item[2].value<<x.item[3].value;}

}

int SMatrix::get(int i,int j)
{

在C++中的数组a[100]中,数组的第一个元素是a[0],而不是a[1];
最后一个元素是a[99],而不是a[100]
所以你程序中的for循环中i的取值全都要改
同理在一个矩阵中0行是数学上的第一行;0列式数学上的第一列;依此类推