I can not answer all your questions directly, however, I decided to put it here for future use. Also, please take it with a pinch of salt, as this is based on my understanding of the events that occurred in the world of C ++ standards, not actual data.
Read this . I do not have ARM with me, but the article provides the necessary details.
Note 115 in C ++ 0x says
115) The declaration of access is condemned; ad-member declarations (7.3.3) provide a better means of doing the same. In earlier versions of C ++, access declarations were more limited; They were generalized and made equivalent to use-declarations as a percentage of simplicity. Programmers are encouraged to use use-of-declarations rather than the new capabilities of declaring access in new code.
In short:
I think ARM first banned it:
An access declaration cannot be used to restrict access to a member that is available in the base class, nor will it be used to provide access to a member that is not available in the base class.
But later, I think when the Standard evolved it was eventually allowed
Chubsdad
source share