Readonly class members
Hasan Aljudy
hasan.aljudy at gmail.com
Thu Sep 14 12:21:17 PDT 2006
Ever heard of "private"?
Georg Wrede wrote:
>> From time to time I wish that C++ would have a readonly specifier
>> that works like this:
>>
>> class Obj {
>> void f() {
>> int m_size = 10; //ok
>> }
>>
>> readonly int m_size;
>> }
>>
>> void func() {
>> Obj o = new Obj;
>> int v;
>>
>> v = o.m_size; //ok
>> o.m_size = 5; //error
>> }
>
>
>> 'm_size' can be accessed inside 'Obj' as normal, but outside the class
>> the variable cannot be modified. Of course, I could provide a read
>> property (that is, a function in C++) for accessing 'm_size' (in
>> addition to a write property), but when it's not necessary, this way is
>> simplier (and a little bit faster, etc.).
>>
>> In D this, however, is not needed because you can use properties to wrap
>> member variables.
>> (Hopefully the properties will be extended to support the same methods
>> that can be applied to variables also... ;) )
>
>
> Hmm. IMHO, this would be very easy to implement in the compiler. It
> would make class definitions clearer, and in many cases would lessen the
> need to write code.
>
> Just off-hand I can imagine quite a few situations where I'd use this.
More information about the Digitalmars-d
mailing list