nested class inheritance
Gor Gyolchanyan
gor.f.gyolchanyan at gmail.com
Sat Jul 14 10:30:36 PDT 2012
On Sat, Jul 14, 2012 at 9:23 PM, Benjamin Thaut <code at benjamin-thaut.de>wrote:
> Am 14.07.2012 19:21, schrieb kenji hara:
>
>> 2012/7/15 Benjamin Thaut <code at benjamin-thaut.de>:
>>
>> The only problem about this is:
>>>
>>> class Fruit
>>> {
>>> class Seed {
>>> void SetFruit(Fruit fruit)
>>> {
>>> this.outer = fruit;
>>>
>>
>> Setting to pseudo variable 'outer' should be rejected in compilation.
>> Please report it to bugzilla.
>>
>> }
>>> }
>>> }
>>>
>>> class Apple: Fruit
>>> {
>>> void AppleOnlyMethod(){ ... }
>>>
>>> class AppleSeed: Fruit.Seed {
>>> void DoSomething()
>>> {
>>> AppleOnlyMethod();
>>> }
>>> }
>>>
>>> auto GetNewSeed() { return new AppleSeed(); }
>>> }
>>>
>>> auto apple = new Apple();
>>> auto seed = apple.GetNewSeed();
>>> seed.SetFruit(new Fruit());
>>> seed.DoSomething(); //what happens here?
>>>
>>> Kind Regards
>>> Benjamin Thaut
>>>
>>>
>> Kenji Hara
>>
>>
> I will not report this, beacuse it will break my custom new operator
> (template) for inner classes ;-)
>
> Kind Regards
> Benjamin Thaut
>
>
That's most unwise, because if it's not supposed to be like that it will
get fixed anyway, so you better start replacing your custom new operator.
--
Bye,
Gor Gyolchanyan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120714/94896366/attachment.html>
More information about the Digitalmars-d
mailing list