可以在结构体中添加指针类成员变量,并在成员函数中实现动态数组的分配。
以下以一个仅实现整型动态数组,不包含其它功能的类为例做说明。
class array //类名
{
public:
int *v; //动态数组首地址。
int length; //动态数组长度。
array(int len)
{
if(len <= 0)//初始化长度非法。
{
length = 0;
v = NULL;
}
else
{
length = len;
v = new int[length];//内存分配。
}
}
~array()
{
delete [] v;//析构中释放内存。
}
};
#include
struct item
{
int exponent;
};
int main(){
int count;
cin>>count;
std::vectoritems(count);
// 把items当成普通数组来用
}