This is more of a general question to see if I got the concept.
I defined a class with private member data: one is an int variable and the other is a pointer.

1. Where is the int variable stored?... on the heap or on the stack?
2. Where is the pointer pointing?
3. When deleting the data (if it's stored on the heap) I've learned I have to delete the pointer using "delete" and then make it point to NULL. But what happens with the int variable. Does the destructor take care of it or do I have to get rid of it?

Any help is really appreciated,


1. Where is an object stored? All non-static members stored there, in the same place:

MyClass ImInStaticStorage;

void where() {
    MyClass ImOnTheStack;
    MyClsss* pointToTheHeap = new MyClass;
    delete pointToTheHeap;

2. Initially it points to nowhere if you don't initialize it (has unpredictable value).
3. What to do with a pointer member in the class destructor: it depends... If the class object "owns" the referred object (for example, you allocate referred object in a class constructor), you must delete it (no need to assign 0 after that). If you saved this pointer value into the member but don't control life time of the referred object - do nothing.
About int member: int is a simple basic type, no destructors for basic types. Don't worry about int members destiny after destruction...

Privatness is a member name accessibility (not storage class) attribute.

commented: Exactly what I needed +1