"->" vs "." to access class members?

jwllorens:
When it goes out of scope, wont the default destructor be called?

Nope!!!
It's the pointer that goes out of scope, not the object that you created dynamically. If you want to destruct the object, you must use 'delete' before you loose the pointer.

This is exactly analogous to the situation in C. You must 'free()' the memory that you 'malloc()' before you loose the pointer.