That looks correct to me. Can you post a larger example of why you think they're not working?
There is an alternate way to write them, but it's not necessarily better or worse, just different (see the linked thread for arguments for/against each way).
I have a button class which includes the Image handler class and so does my System class(The system class contains the GameLoop). When I commented the Button code It worked.
Do you ever #undef anything? I can't think of why else you would be getting a redefinition error.
No.