tags:

views:

94

answers:

3

Hello all! 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.

+1  A: 
Node::Node(int maxsize,int k)
{
   NPtr = new Node*[maxsize];
}

But as usual, you are probably better off using a std::vector of pointers.

anon
thank you very much
Zia ur Rahman
+1  A: 

That will be Nptr = new Node*[maxsize]; Also, remember to use delete[] in destructor.

Naveen
A: 

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
}
Ashish