type abstraction or interface of a classnormal function does not accept return type as signature componentstemplate function accept return type as signature componentsso per return type, template function implemented as different function C++ Signatureshttps://www.csc.lsu.edu/~gb/Signatures/index.html