how to make private class member private

psychoticRabbit meagain at meagain.com
Tue Mar 13 10:40:25 UTC 2018


On Tuesday, 13 March 2018 at 09:52:06 UTC, Mike Parker wrote:
> On Tuesday, 13 March 2018 at 09:14:26 UTC, psychoticRabbit 
> wrote:
>
>>
>> That's make a little uncomfortable, given how long and complex 
>> modules can easily become(and aleady are)
>
> Is there a practical difference between a) a module that 
> contains a class with 20 member functions all accessing private 
> members of the class and b) a module that contains a class with 
> two member functions and 18 free functions all accessing 
> private members of the class? Does it really make a difference 
> that some functions are on one side of a closing brace and some 
> on the other?

The scenario you mentioned is fine, as long as I don't want to 
protect any of my class members from free functions within the 
module. When I do decide that something in my class really does 
need protection, I have to move the class outside of the module.

This concept is new to me. I have to keep thinking about it. To 
lose control at the level of class encapsulation, and surrender 
it completely to the module, no matter what..well..I'm a little 
unsure about it.

I'd be more comfortable with being able to have your scenario and 
mine 'both work'.

At what point, does 'principled' violation of encapsulation, just 
become a violation of encapsulation?



More information about the Digitalmars-d-learn mailing list