Answer:
When we declare a function as a friend of a template class, it means it can access the public, as well as the private and protected members both data variables, and functions of that class. Thus, the friend has access not only to certain data types, but they have access to all the data types of that class. Thus, the function declared as the friend is never deprived of accessing any particular data type of a template class, or any class.
Explanation:
However, you should understand what is template class as well. A template class is the one that is a template and can be transformed into various object code for various data types, that supports all the operators used inside that class or function. We do have the template function. And these behave generically.