The document discusses various C++ concepts including: 1) Input/output using cout and cin, variables, control flow statements like if/else and for loops. 2) Arrays as collections of related variables of the same type with indices to access elements. Multidimensional arrays are also mentioned. 3) Structures to group different data types together to overcome array limitations. Structures can contain arrays. 4) Functions to encapsulate reusable code with parameters and return values. Functions can be void. 5) Recursion where a function calls itself to solve a problem by reducing it to smaller sub-problems. Factorials are given as an example.