C++ basics include object-oriented programming concepts like encapsulation, inheritance and polymorphism. Functions can be overloaded in C++ by having the same name but different parameters. Variables have scope depending on whether they are local, global or block variables. Inline functions avoid function call overhead by copying the function code directly into the calling code. Recursion allows functions to call themselves, which can be useful for computing things like factorials.