We all went through the Matrix::multiply() function version of stuff before we learned about operator overloading
No. Not with C++. Only with pre-OOP Fortran/Pascal. :)
But C++ wasn't my first non-assembler programming language (it was about my 10th - although I've forgotten most of them now...)
[Basic (various), Pascal/Delphi, Fortran IV/77, Cobol, AlgolW/Algol68, Lisp, Snobol, c, Assembler (various)]
My first language was HP TSB (Time Shared Basic - built upon Dartmouth Basic) which had matrix operations in-built in the language. It's been up-hill ever since....