(I found partial answer to this question here, but question still holds)
In C++ you have this annoying 'feature', where despite defining function outside class definition, you still have to declare it inside class. It has it's pros, but still is really annoying, since more than having transparent code I want to have a lot of auxiliary functions, without need to show them in final API.
I understand that design of object-oriented C++ doesn't allow it (maybe with some crazy pointer-to-function way, which, if you know it, I want to know it too :D ), but I'm interested if there exists any popular programming language with ability to declare/define functions outside the class body. Of course I know other way around (with just keeping every variable public), but it doesn't allow us to operate on existing API without changing read-only headers.
Example of a problem (from Unreal Engine):
FVector a(1,2,3), b(3,4,5);
float c1 = FVector::DotProduct(a,b);
//but...
float c2 = a.Dot(b);
//method doesn't exist. I have to make new child class inheriting from FVector
//to actually be able to use simple .Dot method