只写出与动态分配空间相关的,其它的类abc中的元素,你自己再加上去就行了。
#include "stdlib.h"
class abc
{
privata:
double **a;
int x;//数组行数
int y;//数组列数
public:
void allocArray(void)
{
a=(double **)malloc(sizeof(double *)*x);
for(int i=0;i
}
void setArrayColAndRow(int col,int row)
{
x=col;
y=row
}
void freeSpace()
{
free(a);
}
}
用之前要先调setArrayColAndRow,再调allocArray,使用完之后,调用freeSpace,这是在C++里用C实现的,也可以用new的办法来做。
必须规定X,Y的值,不能用变量。要动态实现,必须用new double[x]或malloc
在定义数组的时候要么初始化,要么指定大小。不允许定义未初始化且不确定大小的数组。
你可以这样定义这个类
class abc
{
public:
const int x;
const int y;
double **a;
public:
abc(int m,int n):x(m),y(n)
{
if (x>0 && y>0)
{
a = new double *[y];
for (int i=0; i
}
else
a = NULL;
}
~abc()
{
if (a)
{
for (int i=0; i
delete [] a;
}
}
};
定义double **d;
//动态开辟空间 d[n][m]
int n=5,m=4;
d=new double*[n];
for(int i=0;i
d[i]=new double[m];
}
double **a = new double[x][y]