title: OOP and interfaces in C
body: <p>Straight of the bat I understand that ANSI C is not an object orientated programming language. I want to learn how to apply a particular oo technique using c.</p>
  
  <p>For example, I want to create several audio effect classes that all have the same function names but different implementations of those functions. </p>
  
  <p>If I was making this in a higher level language I would first write an interface and then implement it.</p>
  
  <pre><code>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()
  
  
  }
  </code></pre>
  
  <p>How can I achieve such flexibility using C?</p>