Jens Wrote:
> OK, silly me. I used a wrong example. I really did want to know about
> non-polymorphic composition from structs via derivation. Sorry for the
> confusion.
>
> struct point
> {
> int x;
> int y;
> };
>
> struct point3d: point
> {
> int z;
> };
You already got your answer 'alias this' which you have dismissed as ugly. You
wanted composition and I think it provides a very clean way to describe
composition, especially since it looks nothing like how inheritance of classes
which have polymorphic behavior. Also note the intent is to allow for multiple
'alias this' declarations, but hasn't yet been implemented.
struct point
{
int x;
int y;
};
struct point3d
{
point p; // I own a point
alias this p; // I am a composition of a point p.
int z;
};