No, the lack of a destructor doesn't cause memory leaks. Forgetting to delete memory causes memory leaks. A destructor is sometimes useful if you have new'ed memory somewhere and you wish for your class to clean up after itself. In this case, writing a destructor can help, in most cases, you'll not need to write one.
The syntax is similar to a constructor (Except that it must take 0 arguments and cannot be overloaded), but with the bit complement operator in front
Code:
class myclass
{
~myclass()
{
//delete etc.
}
};