Property change problem
Zarathustra
adam.chrapkowski at gmail.com
Mon Jul 21 09:36:55 PDT 2008
I have got following code:
________________________________________________________
module main;
import std.stdio;
import std.process;
struct SSome{
long a = 0;
long b = 0;
}
class CFoo{
private SSome m_u;
private SSome m_v;
public SSome u(SSome o_u){ return this.m_u = o_u; }
public SSome u( ){ return this.m_u; }
public SSome v(SSome o_v){ return this.m_v = o_v; }
public SSome v( ){ return this.m_v ; }
}
class CBar{
private CFoo m_foo;
public CFoo foo(CFoo o_foo){ return this.m_foo = o_foo; }
public CFoo foo( ){ return this.m_foo ; }
this()
body{
this.m_foo = new CFoo;
}
}
void
main(char [][] args){
SSome l_some = SSome(1, 2);
CFoo l_foo = new CFoo;
writefln("l_foo.u.a: ", l_foo.u.a);
l_foo.u = l_some;
writefln("l_foo.u.a: ", l_foo.u.a);
CBar l_bar = new CBar;
writefln("l_bar.foo.u.a: ", l_bar.foo.u.a);
l_bar.foo.u.a = 5; // no effect
writefln("l_bar.foo.u.a: ", l_bar.foo.u.a);
system("pause");
}
________________________________________________________
result:
l_foo.u.a: 0
l_foo.u.a: 1
l_bar.foo.u.a: 0
l_bar.foo.u.a: 0
________________________________________________________
How to easy change value of property l_bar.foo.u.a? Because the above way doesn't work.
More information about the Digitalmars-d-learn
mailing list