do not play preprocessor tricks with 'private', use public interfaces instead; this...