Points to answer:
* When is the destructor called? Does setLen used for shrinking call the destructors?
* How does the assignment operator work?