A function that calls itself is known as a recursive function.
int factorial(int n) { if (n == 0) return 1; return n * factorial(n - 1); } cout << factorial(5); // Output: 120
Always define a base case to avoid infinite recursion.