Telling the window manager (ratpoison) to close the program, does nothing.
|Bjarne Stroustrup wrote:|
|Code that creates an object using new and then deletes it at the end of the same scope is ugly, error-prone, and inefficient.|
Hoot2d *dh = new Hoot2d();
Source *s = new Source("mus/1.wav");
//to create objects you should simply do
For the logging, you could have used clog
. Instead of open-close every time, you should do it just one time.
Still, I don't see the point in those messages.
You seem to have unnecessary includes
Please read the warnings.
Member functions should use/modify the state of the object.
By instance `bmp::tile' is creating a temporary of `bmp' class and acts on it. There is no reason for it to be a member function.
Observe the rule of three. If you need a destructor, copy constructor o assignment operator, you need the three.
You've got a lot of memory management that could go wrong. They could be avoided or wrapped in a container (std::vector)
Error messages should be send to the error stream