On 06/08/2014 08:48, Alex Peshkoff wrote:
>> , but I see a more big problem.
>>
>> The implementation rely on method shadowing.
>>
>> So if I have
>>
>> Impl : Interface
>> {
>>      void method1()
>>      {
>>          method2();
>>      }
>>
>>      method2()
>>      {
>>      }
>> }
>>
>> and
>>
>> ImplSpecialization : Impl    // Not supported by yours headers, but
>> should be IMO
>> {
>>      method2()
>>      {
>>      }
>> }
>>
>> When calling method1() from ImplSpecialization instance, it will call
>> Impl::method2 instead of ImplSpecialization::method2. Do you have some
>> suggestion for this?
> I've tried to emulate it and see no problems.
>
>
It's not the same thing I talked about.

To emulate it, in your Base, you must have a method calling (via C++)
another interface (C++) method.

It will call the static method.

Then create a Inherited from Base and override the called method, but it
will override only via the C vtable, but not in the Base callee method.


Adriano


------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to