1. Inline functions are small functions whose code is inserted at the call site instead of generating a function call. This avoids overhead of function calls but increases code size. 2. Function overloading allows different functions to have the same name but different parameters. The compiler determines which version to call based on argument types. 3. C++ classes allow defining data types that bundle together data members and member functions that can access them. Classes support data hiding and inheritance.