ООП и интерфейсы в C

Сразу я понимаю, что ANSI C не является объектно-ориентированным языком программирования. Я хочу узнать, как применить конкретную технику oo, используя c.

Например, я хочу создать несколько классов звуковых эффектов, которые имеют одинаковые имена функций, но разные реализации этих функций.

Если бы я делал это на языке более высокого уровня, я бы сначала написал интерфейс, а затем реализовал его.

AudioEffectInterface

-(float) processEffect 



DelayClass

-(float) processEffect

{
 // do delay code

  return result

}

FlangerClass

-(float) processEffect

{
 // do flanger code

  return result

}



-(void) main

{
   effect= new DelayEffect()
   effect.process()

   effect = new FlangerEffect()
   effect.process()


}

Как я могу достичь такой гибкости с помощью C?

31
задан dubbeat 10 June 2011 в 09:59
поделиться