I have the following class
class Node { int key; Node**Nptr; public: Node(int maxsize,int k); }; Node::Node(int maxsize,int k) { //here i want to dynamically allocate the array of pointers of maxsize key=k; }
Please tell me how I can dynamically allocate an array of pointers in the constructor -- the size of this array would be maxsize.
Node::Node(int maxsize,int k) { NPtr = new Node*[maxsize]; }
But as usual, you are probably better off using a std::vector of pointers.
That will be Nptr = new Node*[maxsize];
Also, remember to use delete[]
in destructor.
Suppose you want to create matrix of 3 rows and 4 cols then,
int **arr = new int * [3]; //first allocate array of row pointers for(int i=0 ; i<rows ; ++i) { arr[i] = new int[4]; // allocate memory for columns in each row }