Can external definition be used for internal overloading ?
No, it's forbiden by C++ standards
It depends on the operator that is overloaded
Only for abstract classes
Yes, always