*final* class member (D2)

Denton Cockburn diboss at hotmail.com
Wed Feb 13 08:07:47 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.
> 
> class A
> {
>    (const doesn't work) real delegate() dg; // this is that
>    function;
> 
>    this(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.fitness = &c.foo; // I want this to be an error
> }

formatting issues:

(const doesn't work) real delegate() dg; // this is that
   function;

should be:

(const doesn't work) real delegate() dg; // this is that function



More information about the Digitalmars-d-learn mailing list