Ich persönlich würde es besser finden, wenn der Typ nicht über x Methoden abgefragt wird sondern am einfachsten über ein getResourceType() methode die ein C++11 Class Enum benutzt.