You can allocate a multidimensional array using new as follows:
class A{public: int j;//...constructor, destructor, etc.}void func(){ int m; A (*pa)[2][2]=new A[2][2][2]; // three dimensional array m=pa[0][0][0].j; // access member of array's first element m=pa[1][1][1].j; // access member of array's last element}
The function func() allocates a three-dimensional array of A objects called pa. How do you delete a dynamically-allocated multidimensional array? It’s simple: no matter how many dimensions the array has, you always use delete[] to destroy it, as follows:
delete[] pa;