> class C{} > class C1:C{} > // ... > class Cn:C{} > > C getC(){ return new Cn;} // might be extern > // and deliver some Ci > > void visit( C1 fp){} > // ... > void visit( Cn fp){} > void main(){ > visit( getC); // dispatch? > } -manfred visit( getC); }