Is this a bug?

freeagle freeagle at inmail.sk
Sat Jul 8 15:55:26 PDT 2006


Tom S wrote:
> freeagle wrote:
>> I have a class BaseWindow
>> {
>> Dimension2D size()
>>     {
>>         return _size;
>>     }
>>
>> abstract void size(Dimension2D size);
>> }
>>
>> and derived class Win32Window : BaseWindow
>> {
>> void size(Dimension2D size)
>> {
>>     _size.set(size);
>> }
>> }
>>
>> lets say i have a reference to class Win32Window. When i try to call 
>> method _window.size(), compiler complains it doesn't match arguments 
>> size(Dimension2D). Until i specify is to 
>> (cast(BaseWindow)_window).size(). Why??
> 
> I don't remember the exact reason, but try aliasing 'size' from the 
> BaseWindow's scope, like:
> 
> class Win32Window : BaseWindow {
> void size(Dimension2D size) {
> .....
> }
> 
> alias super.size size;    // iirc
> }
> 
> 

the problem is not that i have to type a bit more to actually call the 
method, i just don't understand why its not part of Win32Window 
interface, when Win32Window class is publicly derived from BaseWindow 
defining public method Dimension2D size();



More information about the Digitalmars-d mailing list