*final* class member (D2)
    Derek Parnell 
    derek at nomail.afraid.org
       
    Wed Feb 13 21:15:20 PST 2008
    
    
  
On Wed, 13 Feb 2008 10:59:26 -0500, Denton Cockburn wrote:
> How do I do this?  I'm trying to create a class member here that needs to
> be initialized in the constructor, but cannot be changed later.
The code below seems to work for me (DMD v2.008)
class A
{
   const real delegate() dg; // this is that function;
   this(const real delegate() dg) { this.dg = dg; }
}
class B
{
   real foo() { return 3.5; }
}
class C
{
   real foo() { return 4.5; }
}
void main()
{
   auto b = new B;
   auto a = new A(&b.foo);
   auto c = new C;
   a.dg = &c.foo; // correctly fails to compile.
}
-- 
Derek
(skype: derek.j.parnell)
Melbourne, Australia
14/02/2008 4:13:59 PM
    
    
More information about the Digitalmars-d-learn
mailing list