Generic programming means that you are not writing source code that is compiled as-is but that yo collection of other objects. But there's much more to generic programming. In the context of C++ .it means to write programs that are evaluated at compile time.
example of generic programming are templates of containers: In a statically
typed language like C++ you would have to declare separate containers that hold
integers, floats, and other types or deal with pointers to void and therefore
losing all type information.
which are the C++ way of generic programming leverage this constraint by
letting you define classes where one or more parameters are unspecified at the
time you define the class. When you instance the template later you tell the
compiler which type it should use to create the class out of the template.
Example: template<typename T> class MyContainer
Container that deals with an arbitrary type T
MyContainer take just ints. MyContainer<int> intContainer;