This is probably a simple question, but: If a program uses the delete operator, is a destructor not needed? This is in "C++".
The delete operator is not a substitute for a destructor...it will cause the destructor to be invoked.
The compiler will supply a default destructor, if you do not define one yourself. Whether the default destructor is sufficient, or whether you need to supply your own, is a completely separate issue from whether you use the delete operator explicitly, or merely allow the object to go out of scope.
Edit: Since Michael Dorgan mentioned it, I might as well add this:
The rule of three (also known as the Law of The Big Three or The Big Three) is a rule of thumb in C++ that claims that if a class defines one of the following it should probably explicitly define all three:
destructor copy constructor copy assignment operator