The following books are recommended to read more about Abstract types and virtual functions, Suppressing Operations, Parameterized Types and Function Templates, Function Objects and Variadic Templates:
- Foundations of Quantum Programming https://www.amazon.com/Foundations-Quantum-Programming-Mingsheng-Ying/dp/0128023066
- Q# tutorial https://docs.microsoft.com/en-us/quantum/language/?view=qsharp-preview
- Programming Quantum Computers with Q# https://medium.com/@sitapati/programming-quantum-computers-with-q-45688285e644