Static members and access attribute

Bruno Medeiros brunodomedeiros+spam at com.gmail
Fri Oct 24 05:05:00 PDT 2008


Uriel wrote:
> I've found some strange behaviour with static members and haven't noticed anything about it in the documentation.
> 
> module a;
> 
> class A
> {
>     private static int Foo;
> }
> 
> import std.stdio;
> 
> import a;
> 
> void main()
> {
>     A.Foo = 1;
>     writeln(A.Foo);
> 
> /*    
>     A obj = new A();
>     obj.Foo = 2;
>     writeln(A.Foo);
> */
> }
> 
> Program will compile and print '1'. But if uncomment the second part of code compiler will say that "class a.A member Foo is not accessible".
> Is this a bug?

No, Foo is private, so you can't access it outside of the module where 
it is defined (module a).

-- 
Bruno Medeiros - Software Developer, MSc. in CS/E graduate
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D



More information about the Digitalmars-d mailing list