Why has base class protection been deprecated?

David Bryant bagnose at gmail.com
Tue Apr 24 07:19:46 PDT 2012


On 04/24/2012 11:47 PM, David Bryant wrote:
> On 04/24/2012 11:07 PM, Don Clugston wrote:
>> On 24/04/12 15:29, David Bryant wrote:
>>>>
>>>> Because it doesn't make sense. All classes are derived from Object.
>>>> That
>>>> _has_ to be public, otherwise things like == wouldn't work.
>>>>
>>>
>>> Does the same apply for interfaces? I'm specifically implementing an
>>> interface with non-public visibility. This shouldn't affect the
>>> visibility of the implicit Object base-class.
>>
>> Right. Only classes are affected.
>
> Ok...so I still don't understand why the original example shouldn't
> compile. I'm not trying to change the visibility of the base class but
> rather the visibility of the interface.

To be clear: my subject line is misleading. I used that text because 
it's what came out of the compiler's mouth. I do understand your 
reasoning why you can't change the visibility of a base class, just not 
for an interface.


More information about the Digitalmars-d-learn mailing list