Thanks.The construct is clear now. Still leaves Q1,that is ,the *if* expression after the template definition,I want to learn more about the usage,where can I find more information?
and one more question here: Q4.In the delegate somFnExp:front(),popFront,empty() are all not defined??Anyway it is not an interface ,so why it is allowed? Thanks for help. Sam